Изучаем Apache Kafka с нуля. Урок 10. kafka-storage.sh

  В уроке 9 мы разобрали kafka-server-start.sh и kafka-server-stop.sh - как запускать брокер в foreground и daemon-режиме, какие переменные окружения влияют на JVM и как правильно останавливать процесс без потери данных. Но прежде чем брокер вообще сможет стартовать в KRaft-режиме, нужно сделать один обязательный шаг - отформатировать хранилище метаданных. Этот...

Изучаем Apache Kafka с нуля. Урок 9. kafka-server-start.sh и kafka-server-stop.sh

  В уроке 8 мы разобрали kafka-console-consumer.sh - как читать сообщения из топика, управлять смещениями и фильтровать данные по партициям. Теперь сделаем шаг назад и посмотрим на кое-что фундаментальное: как именно запускается и останавливается сам брокер Kafka. Казалось бы, вопрос очевидный - мы уже запускали Kafka в уроках 2-4. Но...

Изучаем Apache Kafka с нуля. Урок 8. kafka-console-consumer.sh. Чтение сообщений из командной строки

  В прошлом уроке мы научились отправлять сообщения через kafka-console-producer.sh: вводить строки вручную, работать с ключами и загружать данные из файла. Теперь нужно научиться их читать. За это отвечает kafka-console-consumer.sh - стандартная утилита для чтения сообщений из топика прямо в терминале. Это инструмент из той же категории «быстро проверить»: подключился,...

Изучаем Apache Kafka с нуля. Урок 7. kafka-console-producer — отправка сообщений из командной строки

  В предыдущем уроке мы научились работать с топиками через kafka-topics.sh: создавали, описывали, меняли настройки и удаляли. Теперь у нас есть готовый топик, и логичный следующий вопрос - как туда что-нибудь положить. Именно этим занимается kafka-console-producer.sh. Это утилита для ручной отправки сообщений в топик прямо из терминала. Незаменима для быстрых...

Изучаем Apache Kafka с нуля. Урок 6. kafka-topics.sh — управление топиками

Изучаем Apache Kafka с нуля. Урок 6. kafka-topics.sh - Управление топиками ПО: Apache Kafka 4.2.0, KRaft-режим  |  Окружение: Ubuntu 22.04 LTS / macOS 14+  |  Уровень: начинающий+ В прошлом уроке мы разобрались с переменными окружения, алиасами и базовой структурой каталога $KAFKA_HOME/bin/. Теперь умеем запускать утилиты из любой директории и понимаем...

Изучаем Apache Kafka с нуля. Урок 5. Утилиты Kafka bin/ — переменные окружения и основы

Изучаем Apache Kafka с нуля. Урок 5. Утилиты Kafka bin/ - переменные окружения и основы ПО: Apache Kafka 4.2.0  |  Окружение: Ubuntu 22.04 LTS, Java 17  |  Уровень: начинающий В четвёртом уроке мы собрали трёхнодовый Kafka-кластер в Docker Compose. Для проверки его работы запускали команды через docker exec и прописывали...

Изучаем Apache Kafka с нуля. Урок 4. Kafka Docker KRaft 3х узловый кластер

Изучаем Apache Kafka с нуля. Урок 4. Kafka Docker KRaft 3х узловый кластер   ПО: Apache Kafka 4.2.0 (образ apache/kafka:4.2.0)  |  Docker: Engine 28.1, Compose v2.35  |  Окружение: Ubuntu 22.04 LTS / macOS 14+  |  Уровень: начинающий+   В прошлом уроке мы подняли один брокер Kafka в Docker за несколько...

Изучаем Apache Kafka с нуля. Урок 3. Kafka Docker KRaft. Однонодовый кластер

Изучаем Apache Kafka с нуля. Урок 3. Kafka Docker KRaft. Однонодовый кластер   ПО: Apache Kafka 4.2.0 (образ apache/kafka:4.2.0) Docker: Engine 28.1, Compose v2.35  \ Окружение: Ubuntu 22.04 LTS / macOS 14+ Уровень: начинающий В прошлом уроке мы установили Apache Kafka 4.2.0 вручную прямо на хост. Получилось рабочее окружение, но...

Урок 8. Event-Driven Airflow — Запуск DAG по событиям из Apache Kafka

  До этого момента все наши DAG-и жили по расписанию. schedule_interval='@daily' - это классика. Но современный бизнес не хочет ждать "утреннего отчета". Если данные прилетели в 14:00, отчет должен быть готов в 14:10, а не на следующее утро. Здесь мы сталкиваемся с фундаментальным конфликтом: Airflow - это Batch-инструмент (запускает задачи...

Как управлять топиками Kafka- полное удаление, очистка и аварийные сценарии

  Как управлять топиками Kafka: полное удаление, очистка и аварийные сценарии   Apache Kafka — мощный инструмент, но без должного ухода он быстро "захламляется". Топики, которые вы создавали для тестов, старые проекты или просто логи, со временем начинают занимать место и мешать. А иногда они разрастаются так, что кластер "ложится"...

Гарантии доставки сообщений At-Most-Once и At-Least-Once

В мире распределенных систем, гарантии доставки сообщений, при передаче данных между сервисами — это фундаментальная задача. Но что происходит, когда мы отправляем сообщение из точки А в точку Б через сеть, которая по своей природе ненадежна? Сетевые задержки, сбои серверов, перезапуски приложений — все это может привести к потере или...

Kafka без дисков: разбираемся с KIP-1150

Почему провайдерам Kafka как сервиса недостаточно многоуровневого хранилища (KIP-405) и зачем они предложили новое улучшение KIP-1150, меняющее архитектуру хранения и репликации данных напрямую в объектные системы. Кому и зачем понадобилась бездисковая Kafka: что не так с KIP-405 Одной из наиболее интересных тем вокруг Apache Kafka в апреле 2025 года стало...

Проблемы ручной фиксации смещения потребителей в Kafka и их решения с KIP-1094

Когда и зачем фиксировать смещение потребителей Kafka вручную, с какими проблемами можно при этом столкнуться и как улучшение KIP-1094 обеспечивает целостность потоков данных в распределенных средах. Когда и зачем фиксировать смещения потребителей в Kafka вручную Недавно мы разбирали, как выполняется автоматическая фиксация смещений потребителей в Apache Kafka. Она выполняется периодически....

Водяные знаки в заданиях Flink для потоковой обработки данных из Kafka

Почему задание Flink не обрабатывает потоковые данные из топика Kafka и при чем здесь водяные знаки: причины потери данных или растущей задержки вычислений и способы их решения. Почему задание Flink не обрабатывает потоковые данные и при чем здесь водяные знаки? Рассмотрим простой потоковый конвейер на Apache Flink и Kafka: задание...

Где сохраняются и как фиксируются смещения потребителей Apache Kafka

Как Apache Kafka обеспечивает упорядоченность сообщений в рамках раздела, где хранятся смещения потребителей и зачем их фиксировать вместе со эпохой брокера-лидера. Что такое смещения потребителей Apache Kafka и где они хранятся Асинхронная интеграция между информационными системами через Apache Kafka основана на смещениях потребителей – позиции сообщения в разделе топика. Раздел...

Проблема изоляции ИИ-агентов и ее решение с помощью потоковой передачи

Как связать ИИ-агентов: событийно-ориентированная архитектура и потоковая передача событий для интеграции доменных LLM в мультиагентную систему. Зачем нужна интеграция ИИ-агентов О проблеме изоляции и рассинхронизации данных в корпоративных хранилищах мы уже писали здесь. Похожая ситуация наблюдается и при внедрении систем агентского ИИ, где большие языковые модели (LLM, Large Language Model)...

ИИ-агенты на Apache Kafka и MCP-серверы: организация потокового обогащения LLM

Почему MCP-серверы с технологиями потоковой передачи событий в LLM стали трендом: примеры обогащения ИИ-агентов контекстом из Kafka. Внедрение MCP в Confluent Cloud для взаимодействия с Apache Kafka Хотя MCP-протокол, позволяющий ML-модели новыми контекстными данными, что необходимо для больших языковых моделей (LLM, Large Language Model), довольно прост с технической точки зрения,...

Обновление курса по Kafka: KRaft и другие новинки версии 4.0

Коллеги, как обычно, мы идем в ногу со временем и постоянно обновляем наши курсы с учетом выхода новых релизов. Приглашаем вас на обновленный курс по администрированию Apache Kafka, где учтены самые главные изменения относительно предыдущих версий: Архитектура Kafka 4 Эволюция Kafka: от Zookeeper к KRaft Новая архитектура без Zookeeper (KIP-500,...

Публикация очень больших сообщений в Apache Kafka

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

Удаление топика Kafka: неочевидные проблемы и как их решить

Почему нельзя просто взять и удалить топик Apache Kafka: что проверить и перенастроить, с помощью каких инструментов и чем можно обойтись вместо непосредственного удаления. Проблемы удаления топика Apache Kafka и их решения Когда у вас есть собственный инстанс или даже кластер Apache Kafka с полными правами на все манипуляции с...