【发布时间】:2017-05-08 16:12:02
【问题描述】:
我想知道在高可用性 (.NET Core) 微服务基础架构中设置 WebSockets 服务器的最佳方式。
我目前的计划是让我的 WebSockets 服务器的两个实例位于负载均衡器后面,具有会话亲和性,这样一旦打开连接,后续消息就会返回到同一个实例。然后如果一个实例失败,客户端将重新连接到另一个实例。
这是最好的设置方法还是有更好的方法?我主要关心的是高可用性,但我也希望能够水平扩展。
此外,如果需要将消息广播到浏览器客户端,那么我是否应该使用某种可靠的消息队列来确保 WebSockets 服务器的所有实例都知道该消息,以防它们拥有与该浏览器客户端的连接?我为此想到的另一种选择是,如果服务器以某种方式是无状态的,并且连接信息存储在其他地方(Redis 集群?),那么我不需要通知所有实例,因为它们都不会“拥有”与那个客户?这可能吗?
感谢您的帮助:)
克里斯
【问题讨论】:
标签: .net websocket microservices high-availability