如何解决Spring WebSocket /经纪人故障转移
我的设计如下:
- 机器1
- WebsocketApp
- ActiveMQ经纪人
- 机器2
- WebsocketApp
- ActiveMQ经纪人
- 机器3
- WebsocketApp
- ActiveMQ经纪人
- 机器4
- WebsocketApp
- ActiveMQ经纪人
客户端将通过F5负载平衡器在WebSockets上使用STOMP,以连接到ActiveMQ代理。它们可以根据负载系数降落在任何机器上。
对于故障转移方案,我们如何在ActiveMQ之间共享Web套接字会话。否则,如果经纪人失败,则其持有的所有会话都将失败。
解决方法
STOMP是一个非常简单的协议。它不支持故障转移。
如果在您的环境中与STOMP客户端连接的代理断开,则该客户端的连接将断开,并且该代理上的所有消息都将不可用,直到代理重新启动为止。客户端将需要通过F5 URL重新连接到另一个代理。
STOMP连接与HTTP不同。他们是有状态的。客户端之间的客户端“会话”数据不共享。如果客户的经纪人崩溃了,那么它就无法简单地进行下去,就好像在HTTP用例中通常没有发生任何事情一样。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。