Spring WebSocket /经纪人故障转移

时间:2020-08-13 16:10:14

标签: spring websocket activemq spring-websocket failover

我的设计如下:

  • 机器1
    • WebsocketApp
    • ActiveMQ经纪人
  • 机器2
    • WebsocketApp
    • ActiveMQ经纪人
  • 机器3
    • WebsocketApp
    • ActiveMQ经纪人
  • 机器4
    • WebsocketApp
    • ActiveMQ经纪人

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

对于故障转移方案,我们如何在ActiveMQ之间共享Web套接字会话。否则,如果经纪人失败,则其持有的所有会话都将失败。

1 个答案:

答案 0 :(得分:0)

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

如果在您的环境中与STOMP客户端连接的代理断开,则该客户端的连接将断开,并且该代理上的所有消息都将不可用,直到代理重新启动为止。客户端将需要通过F5 URL重新连接到另一个代理。

STOMP连接与HTTP不同。他们是有状态的。客户端之间的客户端“会话”数据不共享。如果客户的经纪人崩溃了,那么它就无法简单地进行下去,就好像在HTTP用例中通常没有发生任何事情一样。

相关问题