Вопрос проверяет понимание назначения Kafka и умение отличать реальные сценарии её применения от неподходящих случаев.
Apache Kafka используется для передачи и обработки больших потоков событий и сообщений. Чаще всего её применяют для асинхронного взаимодействия сервисов, сбора логов и аналитики. Kafka хорошо подходит для систем с высокой нагрузкой и большим объёмом данных. Она позволяет надёжно хранить и быстро читать сообщения. Обычно Kafka используют как центральный event bus в распределённых системах.
Kafka создавалась как распределённая платформа для работы с потоками данных в реальном времени.
Apache Kafka — это распределённая платформа для публикации, хранения и обработки потоков сообщений.
Kafka часто используют вместо прямых HTTP-вызовов:
сервис публикует событие;
другие сервисы читают его независимо.
Это снижает связность системы и упрощает масштабирование.
Типовые сценарии:
события пользователей (клики, просмотры);
бизнес-события (создание заказа, оплата);
технические события (логи, метрики).
Пример события:
{
"event": "order_created",
"order_id": 123,
"user_id": 456
}
Kafka часто используется как входная точка для:
real-time аналитики;
построения витрин данных;
передачи данных в хранилища.
Kafka может выступать как буфер:
сглаживает пики нагрузки;
защищает downstream-сервисы от перегрузки.
Kafka стоит использовать, когда нужно надёжно передавать и обрабатывать большие потоки событий между сервисами без жёсткой синхронной связи.