Темы Azure - несколько слушателей в одной подписке - PullRequest
0 голосов
/ 18 октября 2019

Есть ли способ иметь несколько прослушивающих клиентов в одной подписке на тему Azure, и все они получают ВСЕ сообщения? Насколько я понимаю, единственная реализация подписки заключается в том, что опубликованное сообщение доставляется только ОДНОМУ клиенту по этой подписке, поскольку оно похоже на очередь.

Могут ли эти сообщения быть скопированы на несколько клиентов с использованием одной и той же подписки?

РЕДАКТИРОВАТЬ: пример потенциального использования

Сервер уведомляет всех своих клиентов (веб-клиентов через браузер или приложение), которые подписаны на темуобъект, который изменил свое значение

Проще говоря, несколько компьютеров могут видеть изменение значения данных

РЕДАКТИРОВАТЬ 2: Мои настройки / что я ищу

Проблема, с которой я сталкиваюсь, заключается в том, что сообщение помечается как использованное одним клиентом, а не доставленное другому клиенту. У меня есть 3 ПК в тестовой среде: (1 ПК публикует сообщения (мы будем называть это Издателем) в теме, и 2 других ПК подписаны на тему, используя одно и то же SubscriptionName (Мы назовем этих Клиента 1 и Клиента 2)).

Итак, у нас есть такая настройка:

  1. Publisher - публикация в теме
  2. Client 1 - подписка с использованием SubscriptionName= Test1
  3. Клиент 2 - Подписано с использованием SubscriptionName = Test1

Издатель публикует 10 сообщений в теме.

  • Клиент1 получает сообщение 0
  • Клиент 2 получает сообщение 1
  • Клиент 1 получает сообщение 2

... И т. Д. ( Не все 10 сообщенийполучено как клиентом 1, так и клиентом 2 )

Я хочу, чтобы клиенты получали ВСЕ сообщения, например:

  • Клиент 1 И Клиент 2получить сообщение 0
  • клиент 1 и клиент 2 получить сообщение 1
  • клиент 1 и клиент 2 получить сообщение 2

... и т. Д.

Ответы [ 2 ]

0 голосов
/ 22 октября 2019

Клиент1 и клиент2 не могут получить одно и то же сообщение.

Проще говоря, когда сообщение client1 получено из подписки и успешно обработано, сообщение удаляется из подписки, поэтому client2 не сможет снова получить то же сообщение.

Надеюсь, это прояснится.

0 голосов
/ 21 октября 2019

Служебная шина - это система обмена сообщениями один-к-одному или сквозная.

Вам нужен концентратор событий Azure или Сетка событий.

...