2016-09-26 2 views
1

우리는 다음과 같은 시나리오를 직면 : A 이벤트는 특정 순서로 이벤트 체인을 생성 제작 : 이 이 항목 1을 작성 말할 업데이트 항목 1, 마침 항목 1, 이 항목 2, 업데이트를 생성 할 수 있도록합니다 항목 2, 항목 2 완료.토끼 MQ 이벤트 동시성 및 동기화

항목 1과 2의 이벤트는 병렬로 발송됩니다. 관련없는 작업을 차단하지 않고 각 항목에 대해 항목 1과 2의 이벤트를 순차적으로 처리해야합니다. CreateItem1 및 Update Item 1이 순차적으로 실행되어야하는 동안 항목 1을 작성하고 항목 2를 작성하는 것을 병렬로 실행할 수 있습니다.

주요 질문은 각 항목에 전용 대기열을 만들지 않고 이러한 동작을 어떻게 달성 할 수 있는가입니다. 항목 수가 불확실합니다. 이벤트를 처리하는 여러 생산자와 여러 소비자가 있습니다.

답변

1

대답은 간단합니다. 이러한 이벤트를 병렬로 방출하지 마십시오. Create Item 이벤트 이후에 Update Item 이벤트를 처리해야하는 경우 Create Item 이벤트를 처리 한 후 Create Item 소비자가 Update Item 이벤트를 방출해야한다는 것이 당연합니다.

BTW : 각 대기열에 하나의 소비자가 있고 올바른 순서로 이벤트가 방출되도록 보장 할 수있는 경우에만 각 항목에 대해 별도의 대기열이 작동합니다.

관련 문제