Kafka за 5 минут: как понять архитектуру и основные принципы работы
Рассказали простыми словами об основах Kafka 👇. Новичкам будет полезно.
Что такое Kafka?
это распределённая потоковая платформа;
работает как высоконагруженный «почтовый сервис» для данных;
обрабатывает миллионы сообщений в секунду.
Uber, Netflix, LinkedIn и др. используют Kafka для работы с данными в реальном времени
Архитектура Kafka
брокеры — серверы, которые хранят и передают данные;
кластер — группа брокеров, работающих вместе;
ZooKeeper (или KRaft) — координатор работы кластера.
Проще говоря, это как почтовое отделение с множеством сортировщиков
Темы (Topics) и партиции
тема — «почтовый ящик» для определённого типа данных;
партиции — параллельные "отделы" внутри темы;
сообщения в партициях упорядочены.
Важно: Чем больше партиций — тем выше пропускная способность
Producers & Consumers
Producer — отправитель сообщений (пишет в топики);
Consumer — получатель (читает из топиков);
Consumer Groups — группа потребителей, делящих нагрузку.
Если producer — почтальон, то consumer — человек, проверяющий почту
Почему Kafka — не БД?
данные хранятся ограниченное время (в соответствии с выставленными настройками);
нет сложных запросов — только последовательное чтение;
оптимизирована для потоковой передачи, а не хранения.
Главное отличие: В БД вы храните данные, в Kafka — подписываетесь на их поток.
Научиться работать с Kafka, изучить архитектуру и понять логику работы с Kafka на примере бизнес-кейсов можно на углубленном курсе «Apache Kafka для разработчиков». Будем практиковаться на Java, но основные принципы и best-practice применимы и к другим языкам.
Узнать подробности и прочитать отзывы о курсе — по ссылке.