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没法决定自己访问哪一台服务器,所以不可能实时同时访问一台服务器。

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

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

看一下效果图:

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

看一下效果图:

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

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

看一下效果图:

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

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

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

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

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

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

    原文作者:不爱吃鱼丶
    原文地址: https://segmentfault.com/a/1190000016928282
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞