2015-10-23 3 views
0

Правильно ли я понимаю, что лучший способ обеспечить надежность очереди - это сеть посредников-подчиненных брокеров (например, master-slave с помощью ZooKeeper)? В настройках отказоустойчивости потребителей и производителей мы устанавливаем адреса мастера, и когда один из мастеров отключается от других узлов-хозяев брандмауэра, он получает сообщение от своего подчиненного, и мы не теряем сообщения. Когда сломанный мастер выходит в интернет, он получает новых потребителей и производителей и получает сообщения. Я прав?Как обеспечить надежность брокера ActiveMQ?

ответ

2

Существует два способа обеспечения высокой доступности ActiveMQ.

  1. Мастер/ведомый установка с использованием общего магазина. Для KahaDB (хранилище по умолчанию) это будет общий диск. Общий доступ к файлам NFS/Windows или тому подобное. Существует много способов создания надежных разделяемых дисков. SAN, а что нет.

  2. Репликационный мастер/раб. Это будет LevelDB с Zookeeper. Если вы не можете получить высокопроизводительный, надежный общий диск, это будет вашим лучшим вариантом.

Вы правы, клиент должен ввести адрес отказа при подключении.

+0

Когда у нас есть мастер на 192.168.0.100 и ведомые устройства, например 192.168.0.101, 192.168.0.102, 192.168.0.103, мы устанавливаем переход на другой ресурс 192.168.0.100,192.168.0.101,192.168.0.102,192.168.0.103, правильно ли он ? И если мастер спустится, ZooKeeper проголосует за нового мастера, это может быть 192.168.0.103. И как производители и потребители узнают, кто новый мастер? Они просто пробуют все отказоустойчивые ips до успешной связи? – Hayate

+0

yep, протокол отказоустойчивости работает именно так. Есть несколько вариантов настройки, но клиент просто пытается их всех до тех пор, пока соединение не будет установлено. –