Масштабирование гибридного подключения ретранслятора Azure

Учитывая стандартный гибридный сценарий OnPrem / Cloud, когда у нас есть несколько клиентов OnPrem, подключающихся к услуге в облаке, как мы можем обслуживать их всех с помощью масштабируемой службы (то есть нескольких слушателей, обслуживающих несколько клиентов)?

Допустим, у нас есть облачный сервис, который реализует прослушиватель гибридной ретрансляции, и для обслуживания всех наших клиентов мы масштабируем его до N экземпляров (до 25). Клиенты назначаются каждому экземпляру с помощью задокументированной функции балансировки нагрузки, так что каждый слушатель обслуживает часть клиентов. Что, если нам нужно транслировать сообщения всем клиентам (например, приложение чата)? Насколько я могу судить, ни один слушатель никогда не имеет доступа ко всем клиентским соединениям. Я что-то упускаю?

Я использовал https://docs.microsoft.com/en-us/azure/service-bus-relay/relay-hybrid-connections-dotnet-get-started в качестве примера, чтобы поиграть с этим сценарием, вставая несколько серверы (слушатели) с несколькими клиентами (соединениями), подключающимися к каждому серверу, но, похоже, нет способа транслировать или искать ВСЕ соединения в пространстве имен, только соединения в текущей области слушателя.


person pseabury    schedule 04.08.2017    source источник


Ответы (1)


но, похоже, нет способа транслировать или искать ВСЕ подключения к пространству имен, только подключения в текущей области прослушивателя.

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

Для сценария трансляции я предлагаю вам использовать разделы служебной шины Azure. После создания темы вы можете подписаться на эту тему для всех клиентов. Когда мы отправляем сообщение в тему, все подписки получат сообщение.

Чтобы узнать, как использовать служебную шину Azure, перейдите по ссылке ниже для справки.

Приступите к работе с темами о служебной шине (.NET)

person Amor    schedule 07.08.2017