До миграции «АналитикПро» использовал RabbitMQ для очередей и Redis Streams для real-time подсчётов. При 200 млн событий/день система работала, но рост до 1 млрд обнажил проблемы:
| Критерий | RabbitMQ | Redis Streams | Kafka |
|---|---|---|---|
| Пропускная способность | 50K msg/s | 200K msg/s | 2M+ msg/s |
| Хранение данных | Только до ACK | Ограничено RAM | Диск, недели/месяцы |
| Replay событий | Нет | Ограниченно | Полный replay |
| Consumer groups | Ограниченно | Да | Да, масштабируемо |
| Exactly-once | Нет | Нет | Да (с транзакциями) |
| Stream processing | Нет | Базовый | Kafka Streams / ksqlDB |
Ключевой фактор — возможность replay. В аналитике часто нужно пересчитать агрегации за прошлые периоды (новая метрика, исправление бага, изменение логики атрибуции). С RabbitMQ данные теряются после обработки. Kafka хранит сырые события столько, сколько настроено — в нашем случае 30 дней.
Оставить комментарий