В чём разница: Kafka Streams vs обычный Consumer?

Ответ

Consumer: ты сам управляешь offset, обработкой, сохранением. Kafka Streams: клиентская библиотека с декларативной обработкой потоков (filter, map, groupBy, aggregate, join). Stateful — использует RocksDB для локального состояния с бэкапом в changelog-топик.

Разбор: Kafka Streams — это клиентская библиотека (а не отдельный кластер), которая даёт декларативный DSL для потоковой обработки и хранит локальное состояние в RocksDB с бэкапом в changelog-топик. Обычный Consumer — низкоуровневый API, где offset, обработку и состояние вы пишете сами. Ловушка: и Streams, и Consumer внутри используют pull-модель и масштабируются по партициям, а join/aggregate именно в plain Consumer из коробки нет.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться