Я пытался понять гарантии RabbitMQ при публикации - пока безуспешно - и я хотел бы знать, может ли кто-нибудь помочь мне с этим сценарием:
Привязки
Биржа А -> Биржа Б
Биржа А -> Биржа С
Биржа B -> Очередь B1
Биржа C -> Очередь C1
Характеристики
B1 и C1 объявлены как постоянные очереди
B1 и C1 являются зеркальными очередями.
Все биржи объявлены как fanout
Я запускаю кластер RabbitMQ с несколькими узлами, поэтому очереди могут быть ведущими на разных узлах.
Если я опубликую на Exchange A, публикую ли я свое сообщение во всех очередях или нет?
В настоящее время я работаю в режиме подтверждения. Что будет означать подтверждение после публикации здесь?
Надежда выше имеет смысл - спасибо!
Моя проблема еще не наблюдалась так много - я не уверен, что у меня есть инструменты, чтобы фактически вызвать сбой диска, опубликовав сообщение для обмена A. Например, что, если B1 получает сообщение, однако мастер C1 выходит из строя перед сохранением на диске?





If I publish to Exchange A - do i then either get my message published to all or no of the queues?
Поскольку вы используете обмены fanout, очереди B1 и C1 будут получать любое сообщение, опубликованное на обмене A. Это просто для вас, чтобы проверить себя - попробуйте!
I'm currently running in Confirm mode - what would a confirm mean after a publish here?
Я не совсем уверен, для какой цели здесь служат ваши промежуточные обмены (B и C). Если вы удалите их, вы можете быть уверены, что подтверждения издателя будут работать так, как вы ожидаете. С промежуточными обменами... навскидку не могу сказать. Это был бы отличный вопрос для rabbitmq-users список рассылки.
Что вы пробовали и наблюдали?