Rabbitmq активный / пассивный HA через WAN

Я пытаюсь обеспечить аварийное восстановление между двумя центрами обработки данных для RabbitMQ. Вторичный центр обработки данных пассивен до тех пор, пока основной DC не выйдет из строя.
Федерация очередей неуместна, потому что она не будет перемещать сообщения, пока потребители во вторичном DC не станут активными. Этого не должно быть, если только основной контроллер домена недоступен, и в этот момент эти сообщения недоступны. Я рассмотрел возможность создания дополнительной очереди в первичном контроллере домена, которая получала бы копию каждого сообщения, а затем использовала Federation или Shovel для копирования этих сообщений во вторичный сервер. Затем возникает проблема удаления дублирующего сообщения из вторичного DC, когда обрабатывается "оригинал" в первичном DC.
Будет работать зеркалирование очереди для узла во вторичном DC, за исключением того, что RabbitMQ не будет кластеризоваться по глобальной сети из-за задержки. Кто-нибудь еще сталкивался с этим сценарием? Благодарю.

1 ответ

Вы довольно красноречиво объясняете проблемы с использованием Federation и Shovels, чтобы попытаться решить DR с RabbitMq. Кролик на самом деле не предназначен для эффективного перемещения данных по глобальной сети.

Перемещение данных по глобальной сети всегда создает проблемы для решений обмена сообщениями. Например, в IBM MQ есть администраторы очередей с несколькими экземплярами для HA, но ему требуется SAN для DR, что удорожает как по продукту, так и по времени обработки.

Еще один бесплатный продукт, такой как Rabbit, который вы можете использовать, - это Solace. В него встроена репликация HA и DR. Он может управлять сценарием активного / пассивного пассивного аварийного восстановления, который вы описываете, перемещая каждое сообщение по глобальной сети асинхронно в режиме реального времени. Как только вы будете готовы переместить трафик приложения на резервный контроллер домена, вы сможете активировать резервный экземпляр и начать использовать сообщения. Он автоматически "удаляет дубликаты сообщений" по мере их использования с активной стороны.

Другие вопросы по тегам