【问题标题】:Issue with Apache ActiveMQ Artemis Message Forwarding across Instances跨实例的 Apache ActiveMQ Artemis 消息转发问题
【发布时间】:2020-11-26 18:50:27
【问题描述】:

阿尔忒弥斯 v2.6.0

  • 我们正在 Master-Master 模式下部署 Artemis 的 2 个实例(Instance-1 和 Instance-2)。

  • 我们通过在 Artemis 门户上进行验证,确认这两个实例都在一个集群中。

  • 我们在两个实例上创建了一个名为 queue-1 的队列。

  • Producer 绑定在 Instance-1 上,Consumer 绑定在 Instance-2 上。

  • 案例:1

    • 当消费者连接到 Instance-2 并且生产者连接到 Instance-1 时。
      • 预期行为: Consumer 应该会收到 Producer 生成的消息。
      • 实际行为: 消费者没有收到任何消息。 但是,我们可以看到消息确认计数等于总消息计数。 还观察到另一个名为 $.artemis.internal.sf.{cluster_name}.{node_id} 的队列上的消息计数显示了生产者生成的消息总数。
  • 案例:2

    • 当消费者同时连接到 Instance-1 和 Instance-2 时。

      -预期行为: 两个实例上的消费者都应该收到消息。

      -实际行为 绑定生产者的 Instance-1 上的消费者接收 50% 的消息。 未绑定生产者的 Instance-2 上的消费者未接收任何消息。 但是,我们可以看到消息确认计数等于总消息计数。 还观察到另一个名为 $.artemis.internal.sf.{cluster_name}.{node_id} 的队列上的消息计数显示了 Producer 生成的消息总数的 50%。

结论: 似乎,消息被转发到另一个实例,但即使收到了确认,也不会反映在该实例上的队列中。

【问题讨论】:

  • 你能提供两个实例的broker.xml 吗?另外,您的消费者是否使用选择器?
  • 请提供两个实例的日志,包括代理启动。
  • 你能在 ActiveMQ Artemis 的最新版本(即 2.16.0)上重现这个吗?

标签: activemq-artemis


【解决方案1】:

我在 Kubernetes 上部署了 Artemis。 问题在于用于在 Kubernetes 上部署和配置 Artemis 的 Helm Chart。 以下是正确的 Helm 图表: https://github.com/vromero/activemq-artemis-helm 注意:使用本项目的master分支

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 2022-01-23
    • 1970-01-01
    • 2018-11-24
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多