Гарантии RabbitMQ Exchange

Я пытался понять гарантии RabbitMQ при публикации - пока безуспешно - и я хотел бы знать, может ли кто-нибудь помочь мне с этим сценарием:


Привязки

Биржа А -> Биржа Б

Биржа А -> Биржа С

Биржа B -> Очередь B1

Биржа C -> Очередь C1


Характеристики

B1 и C1 объявлены как постоянные очереди

B1 и C1 являются зеркальными очередями.

Все биржи объявлены как fanout

Я запускаю кластер RabbitMQ с несколькими узлами, поэтому очереди могут быть ведущими на разных узлах.


Если я опубликую на Exchange A, публикую ли я свое сообщение во всех очередях или нет?

В настоящее время я работаю в режиме подтверждения. Что будет означать подтверждение после публикации здесь?

Надежда выше имеет смысл - спасибо!

Что вы пробовали и наблюдали?

Luke Bakken 16.02.2019 22:51

Моя проблема еще не наблюдалась так много - я не уверен, что у меня есть инструменты, чтобы фактически вызвать сбой диска, опубликовав сообщение для обмена A. Например, что, если B1 получает сообщение, однако мастер C1 выходит из строя перед сохранением на диске?

StefanE 17.02.2019 17:36
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
33
1

Ответы 1

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 список рассылки.

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