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 может делать всё то же самое и больше.