如何动态检测负载平衡群集中的Web服务器节点?

时间:2018-10-25 22:13:17

标签: iis asp.net-web-api load-balancing windows-server-2012 web-farm

我正在使用WebSockets在基于ASP.NET Web API的应用程序中实现一些实时的协作功能,当该应用程序部署在单个Web服务器上时,一切运行正常。

当将它部署在软件(或硬件)负载均衡器后面的服务器场中时,我想实现pub-sub模式以使其中一台Web服务器上发生的任何更改调用相同的逻辑来检查并推送这些通过websocket更改为连接到其他任何Web服务器的客户端。

我知道,如果使用RabbitMQ,Redis或某些类似的发布/订阅或消息传递组件的附加层可以做到这一点。

但是有没有一种方法可以使用DNS或TCP广播,或者Windows Server / IIS上已经可以使用的某种方法将消息发布到群集中的所有其他同级Web服务器?

1 个答案:

答案 0 :(得分:1)

否。

但是您可以使用MSMQ代替RabbitMQ,但这仍然无济于事,因为它是队列,而且不是pub / sub,所以请忽略它。

如果您使用的是SignalR,那么有很多关于如何进行扩展的文档,例如Introduction to Scaleout in SignalR

即使不是SignalR,您也可以从中获得一些想法。