MQ - проблема корреляции COA после смены удаленного пункта назначения из очереди в тему - PullRequest
0 голосов
/ 26 сентября 2018

Обращаемся за советом по нижеуказанной проблеме корреляции COA.

Справочная информация : есть приложение A, которое передает данные в приложение B через MQ (ничего особенного - определение удаленной очереди, указывающее на локальное значение q def на удаленном QM).Где отправляющее приложение A запрашивает COA.Это стабильная настройка, работающая годами:

Приложение A -> QM.A [Q1] -канал-> QM.B [Q2] -> Приложение B

Здесь:

  • Q1 - это удаленное определение q, указывающее на Q2.

Проблема : существует приложение C, которое требует точно такой же поток данных, который A отправляет B через MQ.=> требуется продублировать поток данных с учетом следующего ограничения.

Ограничение : невозможно изменить ни код, ни конфигурацию приложения A и B - дублирование потока данных от A до B должно быть прозрачным для приложений Aи B - A помещает сообщения в одну и ту же очередь Q1 на QM.A;B получает сообщения из той же очереди Q2 в QM.B

Предлагаемое решение : продублируйте канал на уровне MQ путем создания конфигурации Topic / subscirbers в QM приложения B:

Приложение A -> QM.A [Q1] -канал-> QM.B [QA-> T -> {S2, S3} -> {Q2, Q3}] -> {Приложение B,QM.C [Q4] -> App C}

Здесь:

  • Q1 - обновлено свойство rname, чтобы указывать на QA для темы вместо Q2
  • QA - псевдоним очереди для темы T
  • T - тема
  • S2, S3 - подписчики, публикующие данные в Q2 и Q3
  • Q2 - без изменений, то же определение локальной очередигде приложение B использует из
  • Q3 - определение удаленной очереди, указывающее на Q4
  • Q4 - определение локальной очереди в QM.C, очередь с копией сообщений, отправленных из A в B

При такой настройке дублирование сообщений из приложения A в приложение B и C работает нормально.Но ... есть проблема.

Проблема : приложение A не может сопоставить COA, и это проблема.Я не уверен, что приложение A вообще не способно соотносить COA или (что более вероятно, предположить) не может сопоставить дополнительные COA, например, из QM.C

Любая идея или советочень ценится.

...