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 с полными правами на все манипуляции с...

Чистота выборов и дилемма CAP-теоремы в кластере Apache Kafka

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

Автогенерация AsyncAPI-спецификации для Kafka с FastStream: практический пример

Как получить спецификацию AsyncAPI из кода с помощью декораторов функций публикации и потребления сообщений средствами Python-библиотеки FastStream: простой пример потокового конвейера на Apache Kafka. Еще раз про FastStream и спецификацию AsyncAPI Вчера я рассказывала про Python-библиотеку FastStream для разработки потоковых конвейеров на Apache Kafka, RabbitMQ, NATS и Redis. Помимо мощного,...

FastStream для работы с Kafka: практический пример

Чем хороша Python-библиотека FastStream и как ее использовать для потоковой публикации данных в Apache Kafka: практический пример асинхронной отправки JSON-сообщений. О библиотеке FastStream Для Python-разработчиков есть довольно много библиотек, позволяющих взаимодействовать с Apache Kafka: kafka-python, confluent-kafka, Quix Streams и другие клиенты. О сравнении kafka-python и confluent-kafka я писала здесь, а...

Настройка серверов Kafka в режиме KRaft

Чем контроллеры Kafka в режиме KRaft отличаются от режима Zookeeper, как их настроить и чем статический кворум отличается от динамического: краткий ликбез для администратора кластера. Брокеры и контроллеры: новые роли серверов Kafka в режиме KRaft Поскольку уже совсем скоро, в мажорном релизе Kafka 4.0, ожидается полный отказ от Zookeeper в...

Stateful-преобразование потокового датафрейма из Apache Kafka с Quix Streams

Как Quix Streams реализует отказоустойчивую stateful-обработку потоковых датафреймов из топиков Kafka с помощью встроенного key-value хранилища состояний RocksDB: практический пример. Потоковый stateful-конвейер на Apache Kafka и Quix Streams Продолжая знакомиться с библиотекой Quix Streams, которая позволяет получить потоковые датафреймы из данных в топиках Kafka, сегодня разберем, как здесь организована работа...

Потоковый конвейер на Apache Kafka с библиотекой Quix Streams

Быстрая и простая обработка потоков сообщений в одном приложении с Quix Streams вместо Kafka Streams: практический пример на Python с обогащением и фильтрацией данных. Практический пример потокового конвейера с Apache Kafka и Quix Streams Сегодня я познакомилась с Quix Streams - очередной замечательной библиотекой для создания потоковых конвейеров обработки данных...

Обратное давление в потоковых конвейера с Apache Kafka

Как реализовать концепцию обратного давления (backpressure) в потоковой обработке событий с Apache Kafka: настройка конфигураций на стороне приложений-продюсеров и потребителей, а также мониторинг системных метрик. Обратное давление при публикации событий в Kafka Мы уже писали о том, зачем нужна концепция обратного давления (backpressure) в потоковой передаче событий и как она...

Как ClickHouse работает с gRPC: практический пример

Чем полезна поддержка gRPC в Clickhouse и как ее реализовать: разбираем интерфейс удаленного вызова процедур на примере потоковой вставки событий пользовательского поведения из Kafka в таблицу колоночной базы данных со стриминговым выводом. Поддержка gRPC в ClickHouse ClickHouse поддерживает gRPC – фреймворк от Google и система удаленного вызова процедур с открытым...

Как наполнить Data LakeHouse данными из Apache Kafka с помощью Tableflow

Что не так с классическими ETL/ELT-конвейерами транзакционных и аналитических систем в гибридное хранилище LakeHouse, и как дата-инженеры платформы Confluent хотят решить эти проблемы с помощью Tableflow, передавая события из Kafka в таблицы Iceberg. Очередная попытка унификации пакетной и потоковой парадигмы Чтобы обеспечивать потребности современного бизнеса в пакетной и потоковой аналитике,...

Как Trino подключается к источникам данных: разбираемся с коннекторами и каталогами

Как без копирования анализировать данные из разных источников в реальном времени с помощью SQL-запросов: каталоги и коннекторы Trino. Коннекторы Trino: как они работают и что настроить в каталоге Вчера мы разобрали, как устроен кластер Trino – аналитического движка с массово-параллельной архитектурой (MPP, Massively Parallel Processing), который обрабатывает данные на нескольких...

Purgatory-механизм Apache Kafka для асинхронных операций

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