Есть ли смысл в использовании очередей вместо тем и подписок? - PullRequest
0 голосов
/ 10 февраля 2019

Я новичок в Azure Service Bus, я изучаю, может ли он заменить нашу инфраструктуру RabbitMQ.

В любом случае, мне было интересно, есть ли смысл вообще использовать Queues?Если разделы и подписки предлагают одинаковые возможности + предоставляют гибкость для потребления независимо от нескольких источников.

Например, если сейчас у меня есть установка только с одной группой потребителей (возможно, это несколько пользователей, но все они совместно используют)та же очередь сообщений), я мог бы работать с темой, которая имеет одну подписку.

Какой смысл в очередях?Обеспечивает ли это какую-то оптимизацию по темам и подпискам?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Основным преимуществом использования темы, а не очереди, является то, что мы можем создавать несколько подписок на темы в теме службы.Таким образом, сообщения, отправленные в тему, будут отправляться всем подписчикам темы, и это будет очень, когда несколько слушателей прослушивают сообщения из одного источника.

Еще одно главное преимущество заключается в том, что мы можемсоздавать правила подписки на темы или фильтры для каждой подписки на темы, чтобы фильтровать сообщения, полученные этой подпиской на тему.Все подписки на темы будут иметь правило подписки на темы по умолчанию, которое позволяет всем сообщениям, отправленным на эту тему, получать эту подписку на темы.

0 голосов
/ 10 февраля 2019

В отличие от темы с подпиской, очередь не должна проходить фильтрацию.Высокая пропускная способность вложения может привести к некоторому выигрышу в производительности.Кроме того, для сценариев, в которых получатель является единственным процессором и место назначения известно, отправка сообщения в очередь вместо публикации в теме является более простой семантической.Фреймворки, такие как NServiceBus и MassTransit, дифференцируют и оптимизируют отправку сообщений в зависимости от того, является ли это командой или событием, соответственно используя очереди или темы / события.

...