인프런 커뮤니티 질문&답변

fbfbf1님의 프로필 이미지
fbfbf1

작성한 질문수

장애 없는 서비스를 만들기 위한 Resilience4j - CircuitBreaker

Retry를 통해 Resilience4j 맛보기

Retry 사용

해결된 질문

작성

·

154

1

안녕하세요

resilience4j의 Retry는 보통 MSA 내에서

백엔드(Spring boot) 서버 <-> 백엔드(Spring boot) 서버 간의 통신에서만 사용할까요?

 

아니면 백엔드 서버 <-> 카프카 서버, 백엔드 서버 <-> 엘라스틱서치 서버와 같은 경우에도 자주 사용하나요?

답변 1

0

이준형(Foo)님의 프로필 이미지
이준형(Foo)
지식공유자

fbfbf1님 안녕하세요~

Retry는 일반적으론 백엔드 서버간 통신에 사용되긴 하지만, 말씀하신 두가지 사례에도 사용될 수는 있을 것 같습니다.

일반적으로 Retry는 네트워크 장애로 인한 일시적인 실패시 재시도를 함으로써 전체 기능이 실패하지 않도록 만들 수 있습니다.

이때 주의해야할 점은 재시도로 인해 데이터의 정합성이 깨지지 않도록 해야합니다.

Elasticsearch라면 Upsert 연산이 되도록 처리하거나, 카프카라면 멱등성 프로듀서/컨슈머를 활용하여 전체 기능이 멱등성 있게 만들 수 있다면 충분히 활용해볼 수 있을 것 같네요. :)

fbfbf1님의 프로필 이미지
fbfbf1
질문자

네 답변 감사합니다!

fbfbf1님의 프로필 이미지
fbfbf1

작성한 질문수

질문하기