← 질문 목록
#25깊이 0

메시지 큐를 두면 무엇을 얻고 무엇을 잃는가?

아키텍처 · 분산시스템심화확장성장애 대응

보내는 쪽과 받는 쪽의 시간을 떼어내는 대신 순서와 즉시성을 잃는다. 트래픽이 몰려도 받는 쪽이 자기 속도로 처리할 수 있게 되는 것이 가장 큰 이득이다.

직접 호출은 받는 쪽이 죽으면 보내는 쪽도 같이 실패한다. 큐를 끼우면 메시지가 쌓여 있다가 받는 쪽이 살아난 뒤에 처리된다. 배포 중에도 요청이 유실되지 않는다.

기준직접 호출큐 사용
받는 쪽이 죽으면보내는 쪽도 실패쌓였다가 나중에 처리
결과를 아는 시점즉시나중에. 따로 알려야 한다
순서호출한 순서파티션 안에서만 보장

대가가 분명하다. 결과를 즉시 못 준다. 주문이 접수됐다는 응답과 실제로 처리됐다는 사실 사이에 틈이 생기고, 그 틈을 화면이 설명해야 한다. 실패도 그 자리에서 안 보여서 따로 관측해야 한다.

중복 처리와 순서 보장도 함께 설계해야 한다. 대부분의 큐는 최소 한 번 전달을 보장하므로 같은 메시지가 두 번 올 수 있다. 받는 쪽이 멱등해야 하고, 순서가 필요하면 같은 키를 같은 파티션으로 보내야 한다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

메시지 큐를 두면 무엇을 얻고 무엇을 잃는가?