集群环境websocket如何处理通知到每个server问题

发布于 2021-12-04 15:24:57 字数 309 浏览 730 评论 11

测试在两个server下部署J2ee应用;页面评论通知使用websocket处理,需要集中管理每个websocket连接,以保证能通知到每个打开的评论页面;javax.websocket.server.ServerEndpoint 方式tomcat实现websocket。

现在的方案:将每个连接保存到一处redis里,实现连接集中管理;

碰到的问题:websocket建立连接的对象 org.apache.tomcat.websocket.WsSession没有序列化接口。不能序列化那么redis那里存会碰到问题;


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

无法言说的痛 2021-12-08 17:50:16

单独起一个线程异步去订阅消息

眼泪淡了忧伤 2021-12-08 17:50:16

百度下jgroups就知道怎么用了

终陌 2021-12-08 17:50:15

回复
生产上不能这样玩

清欢 2021-12-08 17:49:47

我使用了redis,进行订阅和发布,但是订阅方法是阻塞方法,阻碍了websocket的关闭连接,所以想问下你是怎么使用jgroups解决这个websocket的问题的

坐在坟头思考人生 2021-12-08 17:49:44

1楼或3楼道方式都可以.我使用了jgroups,

醉酒的小男人 2021-12-08 17:49:31

其实你根本不知道在说什么!

酒几许 2021-12-08 17:47:24

redis

等风来 2021-12-08 17:47:22

确实是一个办法,把主动变成被动!

南冥有猫 2021-12-08 17:30:57

你的解决方案思路不对,redis有订阅/发布功能,你要把redis当做消息队列来使用,每个websocket连接都要订阅一个频道,要发送消息时就发布消息到该频道

三月梨花 2021-12-08 06:35:13

引用来自“rockingMan”的评论

接受评论请求的服务器,发消息(多播)到各服务器,服务器遍历socketsession,发送消息

高跟鞋的旋律 2021-12-08 06:17:18

接受评论请求的服务器,发消息(多播)到各服务器,服务器遍历socketsession,发送消息

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文