2016-05-03 2 views
1

Предположим, у меня есть 2 сервера MQ (A, B). Настройка перехода на резервный ресурс B, и на этом сервере MQ настроена задержка планировщика 5 минут для обработки каждой очереди. Когда A имеет 50 очередей и внезапно сбой по какой-то причине. Смогут ли MQ Server B продолжить обработку 50-ти магазинов в A? Или MQ B может обрабатывать только входящую очередь, но не в A?Отказоустойчивость ActiveMq с задержкой планировщика

+0

Что вы уже пробовали? –

+0

Ну, я не знаю, что именно произойдет в моей постановке. Я просто пытался имитировать мои локальные машины. 2 кластера Переключение на резервный ресурс B, 50 очереди и выключения A. B не будет работать в очереди в A. Является ли этот способ конфигурации, который может произойти? Причина, по которой мой usecase не может допустить такое сообщение в очереди без процесса. –

+0

Существует конфигурация, в которой оба экземпляра ActiveMQ используют одну и ту же базу данных или сообщение. Хранилище называется «Конфигурация главного подчиненного устройства с общим DB». что поможет вашему делу, посмотрите на него http://activemq.apache.org/shared-file-system-master-slave.html (это для файловой системы общего доступа) или http://activemq.apache.org /jdbc-master-slave.html (это для общего БД) – Vihar

ответ

0

Я предполагаю, что у вас есть настройка с откатом, используя общий каталог файловой системы для KahaDB. Когда вы задерживаете и/или планируете сообщения, они не помещаются в базу данных KahaDB по умолчанию, а в ваш локальный каталог данных (т. Е. По умолчанию один для A и один для B).

Вы должны настроить планировщик, чтобы также использовать общий каталог (на каком-то сетевом диске или еще что-то). Пример конфигурации:

<broker ... schedulerSupport="true" schedulerDirectory="/path/to/shared/directory"> 
Смежные вопросы