Java 如何使activemq Rest Api支持使用共享存储的主/从配置

Java 如何使activemq Rest Api支持使用共享存储的主/从配置,java,activemq,Java,Activemq,我已经将activeMQ设置为使用共享存储的主/从配置,以实现数据的高可用性。我的应用程序使用ActveMQ的restapi使用来自activemq的消息。如何配置系统,使这些REST API调用也遵守主/从故障切换策略。 下面链接中提到的一个解决方案是使用第三方负载平衡器 但在使用负载平衡器之前,我更愿意探索任何可用的配置选项 我能找到的解决办法是 从ActiveMQ的嵌入式jetty服务器复制并部署API web应用程序和库,并将其作为WAR部署到独立的jetty服务器上 修改API we

我已经将activeMQ设置为使用共享存储的主/从配置,以实现数据的高可用性。我的应用程序使用ActveMQ的restapi使用来自activemq的消息。如何配置系统,使这些REST API调用也遵守主/从故障切换策略。 下面链接中提到的一个解决方案是使用第三方负载平衡器

但在使用负载平衡器之前,我更愿意探索任何可用的配置选项

我能找到的解决办法是

  • 从ActiveMQ的嵌入式jetty服务器复制并部署API web应用程序和库,并将其作为WAR部署到独立的jetty服务器上
  • 修改API web应用程序的web.xml以将故障转移URL作为上下文参数传递给org.apache.activemq.brokerURL
  • 我的应用程序现在与这个jetty服务器通信,而jetty服务器又将请求路由到ActiveMQ
  • 我之所以将API web应用程序复制到一个单独的服务器上,是因为嵌入式Jetty服务器优先考虑自己的代理而不是servlet上下文参数


    是否有一些配置可确保嵌入式jetty服务器拾取故障转移URL,或者是否有更好的方法通过故障转移支持处理Rest调用?

    只要运行jetty服务器的两个副本,您的解决方案似乎是合理的,以避免造成单点故障

    实际上,您仍然可以使用AMQ嵌入式jetty,但只需更改部署的应用程序即可。这样,您将有两台服务器。这也需要一个负载平衡器摆在他们面前,但对于高可用性的web解决方案,情况总是如此