Про Kafka я уже писал.
Давайте теперь поговорим про RabbitMQ 🐰
Несмотря на то, что эту тему я буду разбирать на тренинге по брокерам, думаю, остальным тоже будет полезно.
Основные понятия, которые нужно знать:
• Publisher — публикует сообщения в Rabbit.
Если сравнивать с Kafka — это producer. То есть сущность, которая шлёт сообщения в обменник.
• Exchange — обменник.
Это точка входа всех сообщений в RabbitMQ.
Publisher публикует в exchange, а он уже раскидывает сообщения по очередям с помощью routing_key.
• Binding — связь между exchange и queue.
Через неё мы указываем: какая очередь получает какие сообщения от какого обменника.
• Queue — очередь.
Здесь лежат сообщения, которые ждут обработки.
• Message — сообщение. Атомарная единица данных.
• Consumer — подписывается на очередь и получает сообщения от Rabbit.
Что важно помнить при тестировании❓
Когда сообщение обработано (т.е. закоммичено), оно пропадает из очереди.
И если вы тестируете прямо на боевой очереди, есть риск:
• либо “украсть” сообщение у продового консюмера (если закоммитите его раньше)
• либо просто не увидеть его, потому что прод его уже съел
Что делать ✔️
Создаём свою тестовую очередь и роутим в неё те же сообщения, что и в боевую.
Так можно тестировать спокойно, не мешая логике основного приложения.
Об этом я подробно расскажу на курсе.
Что ещё важно знать❓
Типы обменников.
Но это — в следующем посте 😉
——————————-
📱 TG-сообщество
📱 Обучение
📱 Отзывы
Post #378
1.17K

- 👍 2