시리즈 첫 글에서 제가 MSA를 선택한 이유로 "리포트 기능이 죽어도 결제는 되어야 한다"는 '장애 격리'를 꼽았던 것, 기억하시나요?하지만 단순히 서비스를 쪼갠다고 해서 저절로 격리가 되는 건 아닙니다. 주문 서비스가 재고 서비스를 호출했는데, 재고 서비스가 응답이 없고 무한 로딩에 걸리면 어떻게 될까요?주문 서비스의 스레드도 응답을 기다리다 다 소진되어, 결국 두 서비스가 같이 죽게 됩니다.오늘은 이 끔찍한 연쇄 장애를 막아주는 두꺼비집, Resilience4j (Circuit Breaker)를 우리 프로젝트에 달아보겠습니다.1. 서킷 브레이커(Circuit Breaker)란?집에 있는 '두꺼비집'을 생각하면 쉽습니다.전기를 너무 많이 쓰거나 누전되면 두꺼비집이 딱! 내려가서 전기를 끊어버리죠? 덕분..