Как использовать Redis Streams для построения легковесного аналога Kafka и каковы ограничения такого подхода?

Redis Streams предоставляет журнал записей, consumer groups и подтверждения обработки. Это удобно для небольшого событийного контура, но не делает Redis полной заменой Kafka по хранению и масштабированию.

Короткий ответ

Что ответить на собеседовании

Redis Streams предоставляет журнал записей, consumer groups и подтверждения обработки. Это удобно для небольшого событийного контура, но не делает Redis полной заменой Kafka по хранению и масштабированию.

Подробный разбор

Ответ с пояснениями

Redis Streams предоставляет журнал записей, consumer groups и подтверждения обработки. Это удобно для небольшого событийного контура, но не делает Redis полной заменой Kafka по хранению и масштабированию.

Продюсер пишет через XADD, группа читает XREADGROUP, после успешной обработки выполняется XACK. Зависшие pending-сообщения нужно возвращать в работу через claim-механизм; обработчик делают идемпотентным. Настраивают retention, persistence и мониторинг lag. Один stream-ключ размещается на одном shard, поэтому масштабирование через несколько потоков и порядок между ними проектируются отдельно. Обрезка истории может удалить ещё нужные данные. Долговечность зависит от настроек и сценария failover; не обещайте exactly-once или бессрочный дешёвый replay.

Источник: redis.io.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее