очередь сервисной шины Azure с несколькими слушателями / конкурирующими потребителями с очередью - PullRequest
0 голосов
/ 13 ноября 2018

Теоретически похоже, что очереди Azure Service Bus один к одному по отношению к сообщению и получателю. Просто хотел узнать, возможно ли иметь более одного слушателя в очереди.

Если это 1: 1, значит ли это, что для реализации схемы конкурирующих потребителей мы не можем использовать очереди, а темы - единственный вариант?

1 Ответ

0 голосов
/ 13 ноября 2018

Существует большая разница между очередями и темами: с очередями каждое сообщение получает только 1 потребитель . С темой каждый потребитель , подписавшийся на тему, получит каждое сообщение (хотя есть место для фильтрации ...). Если ваш сценарий требует, чтобы каждое сообщение обрабатывалось только одним потребителем, используйте очереди. Если все зарегистрированные процессы должны работать над этим, используйте темы.

Вы можете иметь несколько слушателей в очереди. Допустим, у нас есть Процесс A и Процесс B, которые оба слушают очередь. Приходит сообщение, и процесс А забирает его. Если поступит другое сообщение, и процесс A еще не завершен, процесс B получит сообщение. Если процесс А готов, любой из процессов может получить второе сообщение.

Competing consumers

Дополнительную информацию о конкурирующих потребителях можно найти в статье Конкурирующие потребители в Центре архитектуры Azure, содержащей пример кода (ссылки на).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...