Проблема с пересылкой сообщений Apache ActiveMQ Artemis между экземплярами

#activemq-artemis

#activemq-artemis

Вопрос:

Artemis v2.6.0

  • Мы развертываем 2 экземпляра (экземпляр-1 и экземпляр-2) Artemis в режиме Master-Master.
  • Мы подтвердили, что оба экземпляра находятся в кластере, проверив его на портале Artemis.
  • Мы создали очередь с именем queue-1 для обоих экземпляров.
  • Производитель привязан к экземпляру-1, а потребитель привязан к экземпляру-2.
  • Случай: 1
    • Когда потребители подключены к экземпляру-2, а производитель подключен к экземпляру-1.
      • Ожидаемое поведение: потребитель должен получить сообщение, созданное производителем.
      • Фактическое поведение: потребитель не получает сообщений. Однако мы видим, что количество подтверждений сообщений равно общему количеству сообщений. Также было замечено, что количество сообщений в другой очереди с именем $.artemis.internal.sf.{имя_кластера}.{node_id} показывает общее количество сообщений, созданных производителем.
  • Случай: 2
    • Когда потребители подключены как к экземпляру 1, так и к экземпляру 2.

      -Ожидаемое поведение: потребители в обоих экземплярах должны получать сообщения.

      -Фактическое поведение потребителя на экземпляре-1, где привязан производитель, получает 50% сообщений. Потребитель на экземпляре-2, где производитель не привязан, не получает никаких сообщений. Однако мы видим, что количество подтверждений сообщений равно общему количеству сообщений. Также было замечено, что количество сообщений в другой очереди с именем $.artemis.internal.sf.{имя_кластера}.{node_id} показало 50% от общего количества сообщений, созданных Производителем.

Вывод: похоже, что сообщения пересылаются в другой экземпляр, но не отражаются в очереди, присутствующей в этом экземпляре, даже если подтверждение получено.

Комментарии:

1. Можете ли вы предоставить broker.xml данные из обоих экземпляров? Кроме того, использует ли ваш потребитель селектор?

2. Пожалуйста, предоставьте журналы из обоих экземпляров, которые включают запуск брокера.

3. Можете ли вы воспроизвести это в последней версии ActiveMQ Artemis (т.е. 2.16.0)?

Ответ №1:

Я развертывал Artemis на Kubernetes. Проблема заключалась в схеме управления, которая использовалась для развертывания и настройки Artemis в Kubernetes. Ниже приведена правильная схема управления: https://github.com/vromero/activemq-artemis-helm Примечание: Используйте главную ветвь этого проекта