본 글은 사내 업무에서 발생한 이슈에 대해 복기를 하면서 해당 내용이 잘 정리되어 있는 '스프링마이크로서비스 코딩공작소'의 내용을 정리하면서 실습한 내용의 일부입니다. 서론 모든 시스템, 특히 분산 시스템은 장애를 겪습니다. '회복력'을 갖춘다는 것에 있어서 대부분의 소프트웨어 엔지니어는 완전한 장애만을 고려합니다. 다음과 같은 이유로 이렇게 일부분 (완전한 장애)만을 고려하게 되는데요. 서비스 degradation(저하)는 간헐적으로 발생하고 확산될 수 있음: 사소한 부분에서 시작된 것이 초기에는 일부사용자의 불평이지만 그것이 완전한 장애로 이어질 수 있습니다. 애플리케이션이 대부분 부분적인 저하가 아닌 원격 자원의 완전한 장애를 처리하도록 설계한다: 결과적으로 자원 고갈이 진행되면 호룰하는 클라이언트..