Gymterview
middle

В чем разница между Kafka и Flume?

Apache Kafka и Apache Flume — это инструменты для передачи данных с разными целями и архитектурами.

Критерий Kafka Flume
Назначение Платформа потоковой передачи данных Сбор, агрегация и передача логов
Архитектура Топики + партиции Sources + Channels + Sinks
Хранение Персистентное (на диске, до retention) Транзитное (передаёт в HDFS/HBase)
Производительность Миллионы сообщений в секунду Ниже, ориентирован на логи
Потребительская модель Много независимых потребителей, replay Фиксированная схема доставки
Гарантия доставки At-least-once, exactly-once Базовые гарантии
Экосистема Широкая интеграция Hadoop-экосистема (HDFS, HBase)
Кейсы Стриминг, event-driven архитектура, аналитика Сбор логов, передача в HDFS

На собеседовании: Flume — это нишевый инструмент для Hadoop-экосистемы, в то время как Kafka — универсальная платформа. В современных архитектурах Kafka практически полностью заменила Flume, поскольку Kafka может делать всё то же самое и больше.