Рассказали простыми словами об основах Kafka 👇. Новичкам будет полезно.
Что такое Kafka?
Uber, Netflix, LinkedIn и др. используют Kafka для работы с данными в реальном времени
Архитектура Kafka
Проще говоря, это как почтовое отделение с множеством сортировщиков
Темы (Topics) и партиции
Важно: Чем больше партиций — тем выше пропускная способность
Producers & Consumers
Если producer — почтальон, то consumer — человек, проверяющий почту
Почему Kafka — не БД?
Главное отличие: В БД вы храните данные, в Kafka — подписываетесь на их поток.
Научиться работать с Kafka, изучить архитектуру и понять логику работы с Kafka на примере бизнес-кейсов можно на углубленном курсе «Apache Kafka для разработчиков». Будем практиковаться на Java, но основные принципы и best-practice применимы и к другим языкам.
Узнать подробности и прочитать отзывы о курсе — по ссылке.
Что такое 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 применимы и к другим языкам.
Узнать подробности и прочитать отзывы о курсе — по ссылке.