Message Queue
Message Queue — асинхронный канал между сервисами, буферизирующий сообщения и обеспечивающий надёжную доставку.
Модели
Point-to-point (queue): одно сообщение — один consumer. Publish-subscribe (topic): одно сообщение — множество subscribers. Work queue: балансировка задач между worker'ами. Priority queue: с приоритетами. Delay queue: отложенная доставка.
Продукты
RabbitMQ: AMQP, гибкая routing. Apache Kafka: log-based, high-throughput, event streaming. AWS SQS: managed, простая. Google Pub/Sub. Redis Streams: легковесная. NATS: cloud-native. ActiveMQ, Amazon MQ.
Гарантии доставки
At-most-once: возможна потеря, без дублей. At-least-once: без потерь, возможны дубли (нужна idempotency). Exactly-once: строго один раз (сложно, дорого). Для платежей — at-least-once + идемпотентные consumers через unique key.
iGaming use cases
Асинхронные балансовые транзакции. Notifications (email, push, SMS). Event sourcing игровых событий. Rewards/bonus engine. Reporting/analytics events. Decoupling микросервисов. Peak leveling при пиках нагрузки. Retry для внешних API (провайдеры игр, платежи).