← 질문 목록
#56깊이 0

메시지 순서는 어디까지 보장되는가?

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

대개 파티션 안에서만이다. 여러 파티션에 흩어진 메시지 사이에는 전역 순서가 없다. 만들려면 번호를 매기는 자리를 따로 둬야 한다. 그 자리가 병목이 되므로 병렬로 얻던 것을 얼마간 내놓게 된다.

범위순서 보장
같은 파티션넣은 순서대로 읽힌다
다른 파티션순서가 없다. 병렬로 흐른다
전역 순서파티션 하나로 몰거나 번호를 매기는 자리를 따로 둔다. 처리량을 잃는다

그래서 순서가 중요한 것끼리 같은 파티션으로 보낸다. 주문 이벤트를 주문 번호로 나누면 한 주문의 사건들은 순서가 지켜진다.

소비자 쪽에서도 깨질 수 있다. 여러 스레드가 한 파티션을 나눠 처리하면 넣은 순서와 끝난 순서가 달라진다.

순서가 반드시 필요한지도 따져야 한다. 상태를 순서 대신 버전으로 판단하면 늦게 온 이벤트를 버릴 수 있어서 순서 요구 자체가 사라진다.

추천 꼬리질문

0/300

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

관련 질문

메시지 순서는 어디까지 보장되는가?