2014-03-28 1 views
0

Пусть у меня есть 3 приложения -SignalR архитектура - центральные или распределенные узлы

WebAPP 1 - это приложение, которое служит NancyFX HTML-страницы. есть также центр SignalR для обмена сообщениями между пользователями этого приложения. (и иногда отправляет сообщения в WebApp2)

WebApp 2 - приложение NancyFX, которое обслуживает html-страницы. есть концентратор SignalR, который получает сообщения от WebApp 1 и обновляет пользователей WebApp 2.

WebApp3 - самостоятельный WebAPI, который не имеет концентратора SignalR, но отправляет сообщения в WebApp2 для обновления подключенных клиентов ,

Итак, мой вопрос: поддерживает ли два концентратора в WebApp2 и WebApp1, или должен ли я иметь (масштабируемый) выделенный сервер SignalR, который размещает концентраторы WebApp2 и WebApp1 для облегчения связи?

Спасибо ..

ответ

0

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

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