해결된 질문
작성
·
154
1
안녕하세요
resilience4j의 Retry는 보통 MSA 내에서
백엔드(Spring boot) 서버 <-> 백엔드(Spring boot) 서버 간의 통신에서만 사용할까요?
아니면 백엔드 서버 <-> 카프카 서버, 백엔드 서버 <-> 엘라스틱서치 서버와 같은 경우에도 자주 사용하나요?
답변 1
0
fbfbf1님 안녕하세요~
Retry는 일반적으론 백엔드 서버간 통신에 사용되긴 하지만, 말씀하신 두가지 사례에도 사용될 수는 있을 것 같습니다.
일반적으로 Retry는 네트워크 장애로 인한 일시적인 실패시 재시도를 함으로써 전체 기능이 실패하지 않도록 만들 수 있습니다.
이때 주의해야할 점은 재시도로 인해 데이터의 정합성이 깨지지 않도록 해야합니다.
Elasticsearch라면 Upsert 연산이 되도록 처리하거나, 카프카라면 멱등성 프로듀서/컨슈머를 활용하여 전체 기능이 멱등성 있게 만들 수 있다면 충분히 활용해볼 수 있을 것 같네요. :)
네 답변 감사합니다!