目录 前言 解决方案 代码示例 前言 最近公司里遇到一个问题,在集群中一些websocket的消息丢失了. 产生问题的原理很简单,发送消息的服务和接收者连接的服务不是同一个服务. 解决方案 用中间件(mq, redis etc.)来在服务之间进行通信. 不直接发送websocket消息,而是将消息放在mq或者redis的list中. 并在redis中维护连接信息,服务根据连接信息来判断自己是否需要处理消息,或者将消息发给接收者连接的服务. 代码示例 我们的项目中使用的是Spring WebSoc…