Kafka хранит события в распределённом журнале, позволяя независимым потребителям читать и перечитывать поток. Её сильные стороны — масштабирование потока и replay, цена — эксплуатация и сложность контрактов.
Зачем нужна Kafka? В чём её суть, плюсы и минусы? Что она не гарантирует?
Kafka хранит события в распределённом журнале, позволяя независимым потребителям читать и перечитывать поток. Её сильные стороны — масштабирование потока и replay, цена — эксплуатация и сложность контрактов.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Kafka хранит события в распределённом журнале, позволяя независимым потребителям читать и перечитывать поток. Её сильные стороны — масштабирование потока и replay, цена — эксплуатация и сложность контрактов.
Данные распределяются по partition, и порядок гарантируется внутри них, а не глобально по топику. Потребители могут отставать, а retention ограничивает доступную историю. Kafka не делает внешний HTTP-вызов или запись в стороннюю БД автоматически exactly-once. Нужно проектировать ключи, offsets, идемпотентность и совместимость событий. Для простой очереди небольших задач журнал с таким набором возможностей может быть избыточным.