JMS (esp Tibco EMS) могу ли я иметь среду в посреднике сообщений - PullRequest
1 голос
/ 17 сентября 2008

У меня есть брокер сообщений с некоторыми темами и набором приложений, работающих на нем. Теперь я хочу запустить новый набор тех же приложений (скажем, для среды QA) на те же темы (на том же брокере, если смогу). Каков наилучший способ сделать это. Создание нового брокера и / или создание нового набора тем является обременительным, поскольку наша среда находится под жесткой бюрократией.

Ответы [ 4 ]

2 голосов
/ 18 сентября 2008

AFAIK EMS не поддерживает ничего похожего на то, что вы предлагаете. Есть несколько вариантов, чтобы получить то, что вы ищете.

Наличие независимых серверов EMS было бы идеальным решением. Это позволило бы вашей непроизводственной среде иметь некоторые взлеты, не вызывая проблем в вашей производственной среде.

Используя тот же сервер, вы можете назначить префикс для каждой среды, привязанный ко всем именам очередей / тем. Должен быть какой-то параметр уровня приложения, для которого используется префикс (qa, dev, test, prod, ...). Это обеспечит довольно хорошую изоляцию сред, но, вероятно, не будет работать слишком хорошо, если какая-либо из сред действительно сильно загружена.

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

1 голос
/ 18 сентября 2008

Я бы рекомендовал не использовать одни и те же серверы промежуточного программного обеспечения для производства и контроля качества в одно и то же время (особенно для брокеров сообщений), как в тестировании качества, вы, вероятно, захотите проводить тесты нагрузки и выдержки, которые не влияют на производительность. Как упоминает Джон, использование отдельного сервера было бы самым простым подходом.

Это довольно странно, почему существует такая жесткая бюрократия по репликации того же набора тем в среде QA; ты не можешь просто взять дамп производственной установки EMS?

С некоторыми брокерами сообщений создание тем и очередей довольно тривиально. например в Apache ActiveMQ разработчики приложений выбирают, какие имена очередей и тем они хотят использовать, - затем вы подключаетесь к брокеру для правильной среды, и это просто работает (хотя вы можете добавить защиту, чтобы запретить определенным пользователям создавать темы / очереди, если вы хотите добавить бюрократию :)).

в сторону; Я всегда находил довольно комичным, что в корпоративных средах существуют довольно драконичные политики относительно того, какие имена очередей / тем разрешено использовать, однако разработчики веб-приложений могут свободно использовать любые идентификаторы URI в своих приложениях. Ведь в обоих случаях это просто логические имена - промежуточное ПО должно просто работать и поддерживать аудит в любом случае:)

0 голосов
/ 20 января 2013

Я бы не использовал одни и те же серверы для нескольких сред для одного и того же приложения, у вас может быть перекрестная связь, когда сообщения для одной среды переходят в другую. Дублирование очередей / разделов не является сложным, и переконфигурирование приложения должно быть быстрым делом.

Другие понятия, о которых вы, возможно, захотите узнать, Мосты (где сообщения в тему / очередь могут быть скопированы в другую) Я использовал это, чтобы автоматически копировать одно и то же сообщение из одной темы в две разные очереди. Я знаю, что вы можете использовать надежного подписчика по теме, но для этого нужна очередь (ИМХО)

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

Вы также можете выбирать сообщения на мосту.

0 голосов
/ 30 сентября 2008

это требование может быть достигнуто с помощью квалификатора в темах / очередях сообщений или «темах», так что вы можете разделить режим среды от DEV до TEST на одном сервере. Помните, что поток сообщений между средами не рекомендуется использовать тот же сервер EMS.

Это конкретное требование должно быть учтено в «Соглашениях по именованию субъектов», которые являются классической задачей в архитектуре SOA, определяющей форматы сообщений, шаблоны обмена сообщениями, дизайн субъектов и т. Д.

Например, ваша тема может быть ..... где будет DEV, TEST или UAT и т. Д.

...