[BooTakHae] Resilience4j를 활용한 장애 전파 방지

Kim Hyen Su·2024년 5월 17일

BooTakHae

목록 보기
8/22
post-thumbnail

Resilience4j를 활용한 장애 전파 방지


💡 Resilience4j & Retry 관련 개념

개요

CircuitBreaker 및 Retry를 적용하기 위한 개소를 생각하던 중에 마땅히 떠오르는 개소가 없어서 미뤄두었던 프로젝트 적용을 진행해보려고 합니다.

Resilience4j의 목적에 대해 상기해보면, 서비스 내에서 너무 큰 부하를 받아 일시적으로 사용이 불가능하거나 네트워크 문제로 문제가 발생한 경우, 일부 서비스의 실패가 전체 서비스로 전파되는 것을 방지하기 위해서 사용됩니다.

해당 프로젝트 내에서 해당되는 요소는 특정 이벤트 기간 동안의 주문 서비스 입니다.

"주문하기" 실행 시, 내부적으로 결제 서비스와 상품 서비스 간의 통신이 발생하게 되고, 주문은 생성되었지만, 결제 또는 상품 재고 처리가 되지 않아서 주문이 처리되지 않는다면, 사용자 경험이 떨어지고 서비스의 성능이 떨어지게 됩니다.

따라서, 결제 서비스 또는 상품 서비스 문제가 발생하게 될 경우, 요청을 "메시지 큐"에 요청을 저장해놓는 방식으로 구현하겠습니다.

이를 통해서, 다른 서비스의 장애가 주문 서비스의 장애로 전파되는 것을 방지하겠습니다.

profile
백엔드 서버 엔지니어

0개의 댓글