Каталог курсов
Учиться бесплатно

Apache Kafka

Apache Kafka — это система для обмена данными между приложениями в реальном времени, которая позволяет публиковать, хранить и обрабатывать потоки событий. Её можно представить как сверхнадёжную и быструю почтовую службу для цифрового мира, которая пересылает миллионы пакетов данных.

Kafka применяют там, где нужно быстро и с минимальным риском потерь передавать большие объёмы информации: для связи между модулями крупных систем (микросервисов), потоковой аналитики, сбора логов событий.

Упрощённо процесс работы системы выглядит так:
  • Приложение-отправитель (producer) создаёт сообщение (например, «пользователь совершил покупку») и отправляет его в Kafka
  • Брокер (broker) — сервер Kafka — получает сообщение и помещает его в определённую категорию: топик (topic). Топики похожи на тематические ленты или каналы
  • Приложение-получатель (consumer) подписано на нужный топик и может читать данные из него, начиная с нужного момента

Главные преимущества Kafka:
  • надёжность: данные автоматически копируются и хранятся на нескольких серверах, поэтому при корректных настройках риск потерять данные минимален
  • масштабируемость: систему можно легко расширять, просто добавляя новые серверы, без остановки работы
  • высокая производительность: Kafka способна обрабатывать огромные потоки данных

Kafka — проект с открытым исходным кодом, развивается при поддержке Apache Software Foundation, поэтому система доступна для всех. У проекта активное комьюнити, которое расширяет и улучшает функционал системы и создаёт справочные материалы. 

Узнайте больше в Медиа Нетологии:

Бесплатный курс по аналитике:

Программы обучения Нетологии по аналитике:
← В глоссарий