【问题标题】:ActiveMQ cosumer connection differ from producerActiveMQ 消费者连接不同于生产者
【发布时间】:2015-07-23 12:31:15
【问题描述】:

以下是我的 ActiveMQ 设置:

我有两个配置了故障转移的 AMQ 代理。 我有 40 个生产者,但仅限于消费者。

现在的问题: 有时,其中一位生产者会失去与主代理的连接。故障转移做出反应,生产者获得与获取消息的从属的新连接。到目前为止,一切都很好。但是消费者没有问题,他仍然消费来自主人的消息。他不知道,奴隶也有一些消息。

我现在如何解决丢失发送给从站的消息的问题?

提前致谢

【问题讨论】:

  • 您使用的是什么版本的 ActiveMQ?主动开发中不再推荐或支持主/从故障转移。
  • 我使用的是 5.10.0 版本。我使用 lok like 的故障转移 -> 故障转移:(tcp://host1:61616,tcp://host2:61616)?randomize=false
  • 我建议你配置一个network of brokers。这样一来,您的代理也将被连接,并且您的生产者和消费者连接到哪个代理不再重要 - 消息将通过网络传播。
  • @krautmeyer 你能把它添加为答案吗?这是要走的路。

标签: activemq failover


【解决方案1】:

我建议您配置代理网络。这样一来,您的代理也将被连接,并且您的生产者和消费者连接到哪个代理不再重要 - 消息将通过网络传播。

【讨论】:

  • 所以,我将一个由两个代理组成的小型网络配置为双工连接。它现在似乎工作得很好。又出现了一个问题:在与代理 B 保持双工连接的代理 A 的 Web 控制台中,我可以看到传入的消息,这很好。在代理 B 的 Web 控制台中,我看不到任何传入消息。在连接概览中有与代理 A 的连接,如出站所示。但是,如果所有消息都应该在网络中传播,那么消息必须显示在代理 B 的控制台中,不是吗?
  • 控制台分别为代理 A 和 B 显示了多少个生产者?如果您使用原始帖子中定义的故障转移 URL,它们应该都连接到 A,因此 B 上不会有任何消息。只有 A 消失后,它们才会重新连接并开始使用 B。
猜你喜欢
  • 2010-12-14
  • 2011-03-12
  • 2012-01-10
  • 2012-08-04
  • 1970-01-01
  • 2020-06-17
  • 2021-03-06
  • 2010-10-19
  • 1970-01-01
相关资源
最近更新 更多