迁移到不同端点时,ActiveMQ生产者-消费者问题:

时间:2019-03-28 06:29:53

标签: amazon-web-services migration activemq amazon-mq

我们的一个application1正在使用具有以下配置activemq.broker.url = failover:(tcp://master:61616,tcp://slave:61616)?randomize=false的activeMQ端点,在这种情况下,我们的application1正在产生事件,类似地,还有另一个application2的使用者指向同一组端点activemq.broker.url = failover:(tcp://master:61616,tcp://slave:61616)?randomize=false的使用者可以使用事件,对其进行处理,并将其放回同一Broker1上的其他队列中。 上面的设置是多租户服务。

  

现在,我们想迁移到不同环境的amazonMQ   它是自己的基础kahaDB。我们如何实现迁移   不会失去活动?

如果我们使application1指向activemq.broker.url = failover:(tcp://master2:61616,tcp://slave2:61616)?randomize=false的新broker2终结点,它将开始向amazonMQ的broker2发送消息。

类似地,如果我们在application2中进行更改,则谁正在使用事件并通过activemq.broker.url = failover:(tcp://master:61616,tcp://slave:61616,tcp://master2:61616,tcp://slave2:61616)?randomize=true中继回给application1需要使用的代理。有了这个设置,我们就能产生准备由应用程序使用的事件。

  

出现问题:application2可以将事件发布回broker1   这是旧的端点activemq.broker.url = failover:(tcp://master:61616,tcp://slave:61616),此事件将   永远不会被消耗掉。

     

如何在不丢失任何事件的情况下实现迁移   亚马逊MQ?这是正确的方法还是在这里可以做什么?

1 个答案:

答案 0 :(得分:0)

我们通过为AmazonMQ和activeMQ的单独使用者写信来解决此问题。稍后在应用程序启动期间将它们都注册。