80 lines
5.6 KiB
Plaintext
80 lines
5.6 KiB
Plaintext
|
Связь между двумя независимыми брокерами осуществляется с помощью моста. Карафы подключенные к одному брокеру далее будут именоваться шиной.
|
|||
|
|
|||
|
image::Route-in-different-esb.png[Прохождение пакета через группу и мост]
|
|||
|
|
|||
|
== Установка и настройка
|
|||
|
|
|||
|
Установка модуля происходит через фичу:
|
|||
|
|
|||
|
* _feature:install bridge_
|
|||
|
|
|||
|
Фича включена в общий установочный скрипт и будет устанавливаться вместе с остальными модулями. Во время установки фичи в караф копируются файлы конфигурации:
|
|||
|
|
|||
|
* _ru.entaxy.esb.system.bridge.cfg (основная конфигурация)_
|
|||
|
|
|||
|
=== ru.entaxy.esb.system.bridge.cfg (основная конфигурация)
|
|||
|
[source,properties]
|
|||
|
----
|
|||
|
# имя локальной шины(<node_name>)
|
|||
|
jms.local=test1
|
|||
|
# значение true - мост текущего узла работает в пассивном режиме,
|
|||
|
# т.е. сообщения для соответствующего удалённого узла складываются в очередь на локальном брокере,
|
|||
|
# из которой уже читает подключаемый узел (локальный брокер должен быть доступен для соединения)
|
|||
|
# По умолчанию false - активный режим, запись сообщения идёт сразу в очередь на удалённом брокере,
|
|||
|
# подключаемого узла (брокеры по обе стороны моста должны быть доступны)
|
|||
|
jms.local.master=false
|
|||
|
# имена удаленных шин, задается через запятую(<node_name>,<node_name>)
|
|||
|
jms.remote.list=test2
|
|||
|
|
|||
|
# адреса брокера, задаются чеерез запятую(jms.url.<node_name>)
|
|||
|
jms.url.test1=192.168.122.81:61616,192.168.122.82:61616
|
|||
|
# логин для подключения к брокеру(jms.username.<node_name>)
|
|||
|
jms.username.test1=input
|
|||
|
# пароль для подключения к брокеру(jms.password.<node_name>)
|
|||
|
jms.password.test1=input
|
|||
|
# протокол для передачи сообщений внутри шины(jms.protocol.inner.esb.<node_name>)
|
|||
|
# для корректной работы синхронного режима передачи сообщений: необходимо следить
|
|||
|
# за одинаковым значением данного параметра в мосту и в самой шине(ru.entaxy.esb.cfg)
|
|||
|
# возможные значения tcp, amqp
|
|||
|
jms.protocol.inner.esb.test1=tcp
|
|||
|
# протокол для передачи сообщений между шинами(jms.protocol.bridge.esb.<node_name>)
|
|||
|
# для корректной работы синхронного режима передачи сообщений: необходимо следить
|
|||
|
# за одинаковым значением данного параметра во всех подключенных шинах
|
|||
|
# возможные значения tcp, amqp
|
|||
|
jms.protocol.bridge.test1=amqp
|
|||
|
|
|||
|
# адреса брокера, задаются чеерез запятую(jms.url.<node_name>)
|
|||
|
jms.url.test2=localhost:61616
|
|||
|
# логин для подключения к брокеру(jms.username.<node_name>)
|
|||
|
jms.username.test2=input
|
|||
|
# пароль для подключения к брокеру(jms.password.<node_name>)
|
|||
|
jms.password.test2=input
|
|||
|
# jms.master.<node_name> - выставляем в true, когда соответствующий узел настроен в пассивный режим,
|
|||
|
# т.е. для него jms.local.master = true (брокер должен быть доступен для соединения)
|
|||
|
jms.master.test2=true
|
|||
|
# протокол для передачи сообщений внутри шины(jms.protocol.inner.esb.<node_name>)
|
|||
|
# для корректной работы синхронного режима передачи сообщений: необходимо следить
|
|||
|
# за одинаковым значением данного параметра в мосту и в самой шине(ru.entaxy.esb.cfg)
|
|||
|
# возможные значения tcp, amqp
|
|||
|
jms.protocol.inner.esb.test2=tcp
|
|||
|
# протокол для передачи сообщений между шинами(jms.protocol.bridge.esb.<node_name>)
|
|||
|
# для корректной работы синхронного режима передачи сообщений: необходимо следить
|
|||
|
# за одинаковым значением данного параметра во всех подключенных шинах
|
|||
|
# возможные значения tcp, amqp
|
|||
|
jms.protocol.bridge.test2=amqp
|
|||
|
|
|||
|
# максимальное колчичество попыток отправить сообщение в очередь
|
|||
|
# почитать подробнее можно в https://camel.apache.org/components/latest/eips/dead-letter-channel.html#deadLetterChannel-Redelivery
|
|||
|
redelivery.maximumRedeliveries=-1
|
|||
|
# время между попытками отправить сообщение в очередь
|
|||
|
redelivery.redeliveryDelay=5000
|
|||
|
# экспоненциальный рост времени между попытками отпрвки сообщений в очередь
|
|||
|
redelivery.useExponentialBackOff=true
|
|||
|
|
|||
|
queue.sender.concurrentConsumers=1
|
|||
|
queue.receiver.concurrentConsumers=1
|
|||
|
----
|
|||
|
|
|||
|
|
|||
|
|