Управляемый обмен сообщениями на основе событий служебной шины Azure - PullRequest
0 голосов
/ 03 октября 2018

У меня есть сценарий для POC, на котором я работаю.Я использую служебную шину Azure и использую модель тем и подписок для обработки сообщений на основе событий.

Один из моих издателей публикует сообщение в теме, и его готовы 3 потребителя (A, B и C).Я хочу, чтобы Consumer C обрабатывал только после того, как Consumer A завершил обработку сообщения.Что-то, что я могу сделать с помощью Azure Service Bus, чтобы управлять им?

1 Ответ

0 голосов
/ 04 октября 2018

Я использую служебную шину Azure и использую модель тем и подписок для обработки сообщений на основе событий.... Я хочу, чтобы Consumer C обрабатывал только после того, как Consumer A завершил обработку сообщения.

При работе с событиями вы реализуете шаблон Pub / Sub, который намеренно разъединяет издателей.и подписчики.Кроме того, идея заключается в том, что подписчики не связаны друг с другом и не зависят друг от друга при обработке событий, на которые они подписываются.Вы не можете контролировать время, когда разные подписчики будут обрабатывать одно и то же сообщение о событии, и не можете обещать какой-либо порядок обработки этого сообщения.

Для сценария, подобного описываемому вами, я бы изменил подходвы принимаете.Когда потребитель A должен сначала обработать событие (E1), и только затем потребитель C должен сделать то же самое, он чувствует, что существует другое событие (E2), которое будет включать информацию из E1 плюс тот факт, что потребитель A был выполнен.Это будет означать, что потребители A и B подписываются на событие E1, а потребители C - на событие E2, где потребитель A вызывает событие E2.

...