文章思路较大部分来源于以下博客:
https://www.cnblogs.com/xianwang/p/11846631.html
标题单节点websocket
相信大家对这个没太多疑问。
那么多服务节点websocket会有什么问题要特殊处理呢,看下图
因为多服务节点的情景下,假设后台还是按照单节点做法,那么每个服务节点只能存储自己的websocketSession,会导致消息无法发布到其他服务节点。
由于websocketSession不能序列化,所以也不能把socketsesion存储到redis进行共享
上图是比较快速实现的一种解决方案,但它只能比较粗粒度的解决广播问题,但很多情景下业务都可以解决掉了,例如点对点的形式发消息,一般场景也是当前节点发给当前客户端浏览器的,所以问题不大。