首页 > 解决方案 > Spring websocket/broker 故障转移

问题描述

我有以下设计:

客户端将通过 F5 负载均衡器使用 STOMP over WebSockets 连接到 ActiveMQ 代理。它们可以根据负载系数降落在任何机器上。

对于故障转移场景,我们如何在 ActiveMQ 之间共享 Web 套接字会话。否则,如果代理关闭,它所持有的所有会话都将关闭。

标签: springwebsocketactivemqspring-websocketfailover

解决方案


STOMP 是一个非常简单的协议。它不支持故障转移。

如果 STOMP 客户端连接到的代理在您的环境中发生故障,则该客户端的连接将断开,并且该代理上的所有消息将不可用,直到代理恢复。客户端将需要通过 F5 URL 重新连接到另一个代理。

STOMP 连接不像 HTTP。它们是有状态的。客户端“会话”数据不在代理之间共享。如果客户端的代理出现故障,那么它就不能简单地继续下去,就好像 HTTP 用例通常没有发生任何事情一样。


推荐阅读