tomcat8.0.15+spring4.1.2的集群下共享WebSocketSession?

环境:nginx+Tomcat服务器 A B C
 

问题:如果用户 1 访问由服务器 A socket服务  ,用户2 由服务器 C socket服务  ,此时如果用户 1, 2 想通过  socket 对话 可以什么方案?(socket 集群由 nginx 分配)由于用户 1,2没法决定自己访问哪一台服务器,所以不可能实时同时访问一台服务器。

 

情况一:用户1,2进入系统时候,被nginx同时分配到了服务器8082。此时用户1想对用户2发送一信息,此请求又被分配到了服务器8083。那么服务器8083向8082发出请求,让8082来执行发送程序。

看一下效果图:

 

情况二:用户1,2进入系统时候,被nginx同时分配到了服务器8082及8083。此时用户1想对用户2发送一信息,此请求又被分配到了服务器8081。那么服务器8081向8082发出请求,让8082来执行发送程序。

看一下效果图:

 

情况三:用户1,2进入系统时候,被nginx同时分配到了服务器8083。此时用户1想对用户2发送一信息,此请求又被分配到了服务器8083。

看一下效果图:

 

集群跑了几天,目前没有用户反应有问题。。。应该

已解决。。。先暂时用一下这方案。。。如果用户、执行程序都在同一台服务器上直接发送就可以了,反之服务器间通讯实现发送。。。

 

posted @   锐洋智能  阅读(13538)  评论(19编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
点击右上角即可分享
微信分享提示