Подтвердить что ты не робот

В чем ответственность брокера JMS в системе JMS Eco?

Я читал этот вопрос и соответствующий ответ и смутился термином JMS broker в первая строка ответа:

MS (ActiveMQ - реализация брокера JMS)

Я хочу знать, что такое JMS broker и каковы его обязанности?

Страница Википедии на JMS перечисляет несколько элементов в системе JMS eco, но не упоминает о брокерах как таковых.

4b9b3361

Ответ 1

На самом деле нет официального определения того, что такое брокером JMS, но существует концептуальная разница между очередью сообщений и брокером. Вот мое занятие.

  • В очереди сообщений просматриваются заголовки сообщений, чтобы выяснить, куда отправить сообщение, очередь сообщений не проверяет тело сообщения или не выполняет какой-либо код, который преобразует содержимое тела сообщения. Миссия очереди сообщений - доставлять сообщение, в конце концов, один раз и только один раз, и для того, чтобы они были отправлены.
  • Брокер сообщений предоставляет среду программирования, в которой вы можете легко и эффективно писать код преобразования сообщений. Например, вам может потребоваться преобразовать содержимое сообщения из формата A в формат B, и вы не хотите, чтобы старые клиенты, которые использовали формат A, должны были быть переписаны, поэтому вы пишете программу трансляции сообщений и развертываете ее в сообщении маклер. В этом случае message broker будет отдельным процессом, который может выполняться на отдельной машине, которая отвечает за запуск кода обработки сообщений.

Большое значение брокеров сообщений заключается в том, что они могут делать некоторые действительно приятные вещи для обработки сообщений одновременно, сбоя для обработки логики, развертывания логики обработки, мониторинга и ведения журнала... и т.д. Подумайте о брокере сообщений как специализированный сервер приложений для написания кода обработки сообщений, возможно, на пользовательском языке высокого уровня. Например, брокер сообщений IBM может быть запрограммирован в ESQL расширением SQL вместе с диаграммами и узлами, которые вы связываете друг с другом. Программы, написанные для сообщения borker, будут короче, чем если бы вы написали весь код самостоятельно, используя простой JMS.

Брокеры могут быть централизованы или распределены, поэтому, например, у вас может быть центральный брокер в Нью-Йорке, к которому подключены клиенты в Лондоне и Гонконге. Или вы могли бы распространить брокера и иметь экземпляр, работающий в Лондоне и Гонконге, который обрабатывает сообщения ближе к источнику/получателю сообщения, все это будет зависеть от вашей инфраструктуры управления и от каких-либо других ресурсов, таких как базы данных, брокера сообщений нужно поговорить.