Локальная очередь клиента в Red Hat AMQ - PullRequest
0 голосов
/ 01 мая 2020

У нас есть сеть брокеров Red Hat AMQ 7.2 с конфигурацией Master / Slave. Клиентское приложение публикует sh / подписку на темы в кластере брокеров.

Как мы справляемся с ситуацией, когда сетевое соединение между клиентским приложением и кластером брокера нарушается? Имеет ли Red Hat AMQ собственное решение, такое как локальная очередь клиента и мост jms-jms между локальной очередью и удаленным посредником, чтобы сбой сетевого подключения не приводил к потере сообщений.

1 Ответ

1 голос
/ 01 мая 2020

Возможно, вы создадите решение, в котором ваши клиенты будут использовать локального посредника, а этот локальный посредник направляет сообщения удаленному посреднику. Конечно, локальный брокер никогда не потеряет сетевое соединение с локальными клиентами, поскольку все локально . Однако, если локальный посредник теряет связь с удаленным посредником, он будет действовать как буфер и хранить сообщения до восстановления связи с удаленным посредником. После восстановления соединения локальный посредник пересылает сохраненные сообщения удаленному посреднику. Это позволит производителям продолжать работать так, как будто ничего не вышло. Тем не менее, вам необходимо настроить все это вручную.

При этом даже если вы не внедрите такое решение, абсолютно не нужно никаких сообщений потеря , даже если клиенты сталкиваются с потеря сетевого подключения. Если вы отправляете длительные (то есть постоянные) сообщения, то по умолчанию клиент будет ждать ответа от брокера, сообщающего клиенту, что брокер успешно получил и сохранил сообщение на диск. Для более сложных взаимодействий могут потребоваться локальные транзакции JMS, а для более сложных взаимодействий могут потребоваться транзакции XA. В любом случае, есть способы исключить возможность сообщения убыток без реализации какого-либо локального брокерского решения.

...