websocket 的session 共享

现在有个功能是前台隔几分钟调后台接口查询数据是否变化了,现在想改成用websocket后台主动推送的,因为后台是有4台服务器的 我想把websocket的session存到redis里推送时用 但是发现session对象无法序列化到redis里,有什么办法实现session共享?### 问题描述

阅读 6k
2 个回答

楼主的思路有点问题。
你的想法是:客户端通过websocket连接到服务器1,连接之后需要保持状态就是你说的session,你是想通过session共享,好让其他的服务器也能推送消息到客户端,但是这是行不通的,因为客户端只和服务器1有连接,和其他的服务器并未建立连接,所以其他服务器不可能向客户端推送消息。

解决方案是,其他服务器可以向消息队列推送消息,然后由服务器1消费,在服务器1中转之后再将信息推送到客户端。

可以用redis的发布订阅模块实现了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题