RabbitMQ
RabbitMQ – это брокер сообщений, построенный на принципах классической очереди (message queue). Он прост в освоении, стабилен и хорошо масштабируется.
Как работает RabbitMQ:
1. Приложение-продюсер отправляет сообщение в обменник (exchange). Это не очередь, а маршрутизатор.
2. Обменник по ключу или типу маршрутизирует сообщение в нужную очередь.
3. Из очереди сообщение забирает приложение-консьюмер, обрабатывает и отправляет подтверждение (ack).
4. Только после ack сообщение удаляется.
Типы exchange в RabbitMQ:
• direct – чёткое соответствие ключа маршрутизации
• fanout – сообщение уходит во все очереди
• topic – шаблоны маршрутизации по маске
• headers – маршрутизация по заголовкам
Где RabbitMQ идеально работает:
✔️Рассылка писем, смс, пушей
✔️Уведомления и напоминания
✔️Генерация отчётов
✔️Интеграция с CRM/ERP
✔️Отложенное выполнение задач
Что важно знать системному аналитику:
⏺RabbitMQ использует модель: Producer → Exchange → Queue → Consumer
⏺Важно понимать, как маршрутизируются сообщения, какие exchange используются
⏺Нужно знать про Dead Letter Queue (DLQ) – если сообщение не удалось обработать, его можно перекинуть в DLQ
⏺Поддерживает отложенные задачи (с тайм-аутами)
В целом RabbitMQ хорош, когда:
• важен чёткий порядок обработки
• сообщения обрабатываются один раз
• нужен простой и быстрый способ интеграции между сервисами
В отличие от Kafka, RabbitMQ не хранит историю событий и не позволяет перечитывать сообщения. Зато он проще в настройке и не требует высокой экспертизы DevOps.
В следующем посте подведём небольшой итог этой темы, ну а пока — с вас реакции, если было полезно🔥
Post #831
520
- 🔥 21
- ✍ 4
- 👍 4