Kafka Pub CircuitBreaker 적용하기
Pub, Sub, Stream, Kafka와 같이 분산 시스템을 구축하면서 각 서비스에서 다른 서비스를 호출할 때 실패하거나 지연이 되어 해당 영향도가 다른 서비스에 확산되지 않도록 하기 위해 서킷 브레이커를 학습하고 적용하였습니다. 이벤트 요청이 누락되면 안되기 때문에 Kafka Pub 실패 시 아래 AS-IS 플로우처럼 Pub 애플리케이션에서 지속적으로 재시도 호출을 하고 있습니다. Kafka 장애가 복구되기 전까지 같은 오류가 지속적으로 발생하여 Pub 애플리케이션에도 문제가 생길 수 있고 각 외부 서비스에 장애가 전파되기 때문에 TO-BE와 같이 서킷 브레이커를 적용해 봤습니다. AS-IS사용자 → Pub 애플리케이션 → Kafka 장애 → 호출 실패 → 오류 → retry …. → Kafka 복..