现在有个功能是前台隔几分钟调后台接口查询数据是否变化了,现在想改成用websocket后台主动推送的,因为后台是有4台服务器的 我想把websocket的session存到redis里推送时用 但是发现session对象无法序列化到redis里,有什么办法实现session共享?### 问题描述
现在有个功能是前台隔几分钟调后台接口查询数据是否变化了,现在想改成用websocket后台主动推送的,因为后台是有4台服务器的 我想把websocket的session存到redis里推送时用 但是发现session对象无法序列化到redis里,有什么办法实现session共享?### 问题描述
8 回答6.4k 阅读
3 回答2.3k 阅读✓ 已解决
2 回答3.3k 阅读
2 回答3.9k 阅读
3 回答1.7k 阅读✓ 已解决
1 回答2k 阅读✓ 已解决
2 回答1.9k 阅读
楼主的思路有点问题。
你的想法是:客户端通过
websocket
连接到服务器1
,连接之后需要保持状态就是你说的session
,你是想通过session
共享,好让其他的服务器也能推送消息到客户端,但是这是行不通的,因为客户端只和服务器1
有连接,和其他的服务器并未建立连接,所以其他服务器不可能向客户端推送消息。解决方案是,其他服务器可以向消息队列推送消息,然后由
服务器1
消费,在服务器1
中转之后再将信息推送到客户端。