여러 게시자가 보내는 메시지 스트림을 관리 할 방법을 찾고 있습니다.Azure 서비스 버스의 게시자 큐 대기열
인위적인 예입니다.
각 게시자가 임의의 순서로 처리 할 수있는 작은 구성 요소로 분해 할 수있는 작업을 제출하고 있습니다. 각 구성 요소는 처리하는 데 몇 초가 걸립니다.
게시자 A는 1000 개의 작은 구성 요소로 구성된 대기열에 작업을 제출합니다. 소비자 X는 대기열에 가입하고 대기열 메시지 처리를 시작하고 그 결과를 결과 대기열에 보냅니다.
작업의 중간 단계에서 Publisher B는 1000 개의 구성 요소로 작업을 제출합니다.
게시자 A는 게시자 A와 게시자 B의 메시지를 번갈아 가며 게시자 B가 결과를 받기 전에 첫 번째 작업을 완료 할 때까지 기다릴 필요가 없기 때문에/게시자 A는 이제 게시자가 결과를 더 느리게 수신하도록합니다. B가 직업이 있습니다. (네트워킹의 공정한 대기열과 비슷합니다.)
이것은 어떤 수의 게시자에게도 적합해야합니다.
그러면 소비자의 규모를 늘리면 각 소비자가 동일한 방식으로 행동해야합니다. 그들은 공정한 큐잉을 보장하기 위해 그들의 행동을 조율 할 필요가 없으며 단지 대략적인 근사값이 좋습니다.
서비스 버스에서이를 처리 할 패턴이 있습니까? 대신 내가 사용해야하는 다른 푸른 기술이 있습니까?
가장 쉬운 방법은 여러 구독으로 주제의 다른 대기열을 만든 다음 여러 소비자가있는 것입니다. – Thomas
고마워요 @ 토마스, 어떻게 도움이되는지 잘 모르겠습니다. 더 설명해 주시겠습니까? – Sudsy
서비스 버스 메시지는 FIFO로 처리됩니다. parrallel에서 처리하려는 경우 가장 쉬운 방법은 여러 개의 대기열을 만드는 것입니다. – Thomas