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。
看一下效果图:
集群跑了几天,目前没有用户反应有问题。。。应该
已解决。。。先暂时用一下这方案。。。如果用户、执行程序都在同一台服务器上直接发送就可以了,反之服务器间通讯实现发送。。。