외부 서비스 장애 전파를 차단/격리하는 방법 3가지
현재 다니고 있는 자사 이커머스 서비스는 이벤트가 자주 열립니다. 특정 브랜드의 경우에는 이벤트 시점에 훨씬 많은 트래픽이 몰립니다. 문제는 이런 순간에 외부 서비스(결제, 쿠폰, 추천 API, DB 등)에 병목이 생기면 내부 시스템까지 연쇄적으로 영향을 받는다는점 입니다. 실제 운영 환경에서도 이벤트 순간 특정 외부 API에 요청이 몰리다 보니 Connection Pool이 모두 소진되고, 대기하던 요청들이 타임아웃으로 떨어지면서 WAS까지 흔들리는 장애가 발생했습니다. 외부 서비스가 느려지거나 응답하지 못할 때, 이를 내부 서비스까지 전파하지 않고 안정적으로 흡수할 방법이 필요했습니다. 그래서 운영 중엔 어떤 방식으로 리스크를 줄일 수 있을지 정리하게 되었습니다. 결론적으로는 타임아웃(Timeout)..