2015-12-25 5 views
2

Я создаю кластер с серверами RabbitQM. Я использую плавный плавник для доставки сообщений от одного кролика к другим (разные машины)RabbitMQ лопата потери сообщений (попытка эмулировать сетевые проблемы)

Он отлично работает. Но я хочу проверить, как он будет себя вести при отсутствии сетевого соединения между серверами.

На каждом сервере у меня есть локальная очередь. Я нажимаю ему сообщения, а затем лопата доставляет сообщение для удаленной очереди RabbitMQ

Для имитации сетевых проблем, я сделал

iptables -D OUTPUT -d xx.xx.xx.xx -j DROP 

отключить соединение с удаленным сервером xx.xx.xx.xx

затем я нажимаю сообщение в локальную очередь, он исчезает из очереди, но не находится на удаленном сервере! Как это может быть? делает ли лопатка, если удаленная очередь доступна до удаления сообщения из очереди?

Как заставить его работать правильно? Я хочу, чтобы лопата не удаляла сообщение из очереди q до тех пор, пока оно не будет доставлено в удаленную очередь.

+0

Не могли бы вы опубликовать вывод 'rabbitmqctl list_channels' и' rabbitmqctl report' во время выпуска? если хотите, создайте сущность с выходами. – Gabriele

+0

Я уже нашел решение, размещенное ниже. благодаря –

ответ

0

Я нашел решение для своей проблемы. Я изменил настройки с лопатой. Был вариант

ask_mode,on_publish 

я изменил

ask_mode, on_confirm 

и он начал работать правильно.