Что такое Apache Kafka
Платформа потоковой обработки событий
Apache Kafka — это распределённая платформа потоковой обработки событий, разработанная для обработки больших объёмов данных в реальном времени.
Основные концепции
- Topic — категория для организации сообщений
- Partition — разделение топика для параллелизма
- Producer — отправитель сообщений
- Consumer — получатель сообщений
- Broker — сервер Kafka
- Consumer Group — группа потребителей для балансировки нагрузки
Преимущества Kafka
- Высокая пропускная способность (миллионы сообщений/сек)
- Горизонтальное масштабирование
- Долговременное хранение сообщений
- Гарантия доставки (at-least-once, exactly-once)
- Отказоустойчивость через репликацию
Применение
- Event-Driven Architecture — связь микросервисов
- Логирование — централизованный сбор логов
- Стриминг данных — real-time аналитика
- ETL пайплайны — интеграция данных
- IoT — обработка данных с устройств
Экосистема
- Kafka Connect — коннекторы к базам данных
- Kafka Streams — обработка потоков в Java
- ksqlDB — SQL для потоков данных
- Schema Registry — управление схемами Avro/JSON