Как динамически определять узлы веб-сервера в кластере с балансировкой нагрузки? - PullRequest
0 голосов
/ 26 октября 2018

Я реализую некоторые функции совместной работы в реальном времени в приложении на основе веб-API ASP.NET, используя WebSockets, и все работает нормально, когда приложение развернуто на одном веб-сервере.

Когда оно развернутоВ ферме за программным (или аппаратным) балансировщиком нагрузки я хотел бы реализовать шаблон pub-sub, чтобы любые изменения, происходящие на одном из веб-серверов, вызывали ту же логику для проверки и передачи этих изменений через веб-сокет на подключенных клиентов.к любому из других веб-серверов.

Я понимаю, что это можно сделать, если есть дополнительный слой, использующий RabbitMQ, Redis или некоторый такой компонент публикации / подписки или обмена сообщениями.

Но есть лиспособ использовать широковещательную рассылку DNS или TCP или что-либо, что уже доступно на Windows Server / IIS, для публикации сообщения на всех других одноуровневых веб-серверах в кластере?

1 Ответ

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

Нет.

Но вы можете использовать MSMQ вместо RabbitMQ, но, тем не менее, это не очень поможет, поскольку это очередь, а не паб / саб, поэтому игнорируйте это.

Если это SignalRВы используете множество документов о том, как масштабировать, например Введение в масштабирование в SignalR

Даже если это не SignalR, вы, вероятно, сможете получить оттуда некоторые идеи.

...