Пятый фактор
Отправить заявку
Переносы сайтов и данных

Миграция Apache Kafka с ZooKeeper на KRaft

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

Срок: 15 рабочих дней

Когда стоит обратиться

Обычно к нам обращаются в таких ситуациях:

  • Кластер использует ZooKeeper, а команда планирует Kafka 4.x, где режим KRaft является основным способом управления метаданными.
  • Отдельный ансамбль ZooKeeper усложняет обновления, мониторинг и аварийные инструкции, особенно при распределённой ответственности команд.
  • Потоки сообщений критичны для заказов или отчётности, поэтому миграции нужна репетиция, контроль клиентов и понятная точка финализации.

Что именно мы сделаем

01

Инвентаризируем брокеры, ZooKeeper, topics, ACL, listeners, версии протокола, clients и систему мониторинга.

02

Приводим кластер к версии-мосту, создаём KRaft controllers и проверяем quorum отдельно от клиентского трафика.

03

Запускаем миграционный режим, наблюдаем перенос метаданных и сверяем topics, partitions, лидеров и права доступа.

04

Переключаем управление на KRaft, проводим тесты producers и consumers, отказа брокера и контроллера.

05

После выбранного периода стабильности финализируем переход и передаём конфигурацию, журнал и инструкции.

Что входит в стоимость

69 900 ₽ за всю работу

Сначала определяем версию Kafka, роли брокеров, состояние ZooKeeper, контроллеры, listeners, безопасность и совместимость клиентов. Для существующего кластера используем официальный мост версии 3.9 и фазовый процесс миграции в KRaft, затем выполняем финализацию только после контрольных прогонов. Учитываем уникальный cluster ID, controller quorum voters или dynamic quorum, отдельный controller listener, metadata.version, конфигурацию ACL, мониторинг и резервную копию критичных настроек.

Что будет готово

Материалы

Передадим вам

  • Рабочий KRaft quorum и переведённые брокеры с выбранными listeners, безопасностью и параметрами метаданных.
  • Сравнительный реестр topics, partitions, ACL и configs до и после перехода, журнал каждой миграционной фазы.
  • Контрольные сценарии producers и consumers, мониторинг controllers и инструкция эксплуатации кластера KRaft.
Проверка

Перед сдачей проверим

  • KRaft quorum стабилен, активный controller виден в метриках, а брокеры зарегистрированы с ожидаемыми ролями и версиями метаданных.
  • Topics, partitions, лидеры, ISR, ACL и выбранные configs совпадают с исходным реестром после миграции.
  • Контрольные приложения публикуют и читают сообщения, consumer group восстанавливается после перезапуска компонента, журнал фиксирует результат.

Как это выглядит на практике

Миграция метаданных Apache Kafka с ZooKeeper на KRaft

Поток заказов сохраняет сообщения во время перехода

  1. 01

    Три брокера обслуживают события заказов, а ZooKeeper хранит метаданные topics и прав сервисных учётных записей.

  2. 02

    Рядом запускается quorum из трёх KRaft controllers, который синхронизирует метаданные в миграционном режиме.

  3. 03

    Брокеры обновляются по одному, контрольный producer записывает маркированные события, consumer сверяет порядок и количество.

  4. 04

    После периода стабильной работы переход финализируется, ZooKeeper выводится из маршрута, а мониторинг продолжает наблюдать controllers, ISR и lag.

Что понадобится для работы

От вас

  • Версии Kafka и ZooKeeper, конфигурации брокеров, схема размещения, доступ к метрикам и безопасному административному клиенту.
  • Перечень критичных topics, producers, consumers, ACL, владельцев потоков и допустимое окно последовательных перезапусков.
  • Тестовые клиентские учётные записи, правила TLS или SASL и возможность развернуть controllers на выбранных узлах.

Если у вас немного другая ситуация

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

Стоимость работ 69 900 ₽ полная стоимость известна заранее
  1. 3 000 ₽после подписания договора через Диадок
  2. 66 900 ₽после выполнения, демонстрации и приёмки результата

Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.

Часто спрашивают

Об этой услуге

Почему для перехода используется Kafka 3.9?

Официальный маршрут миграции ZooKeeper в KRaft проходит через ветку 3.9. Она служит мостом перед дальнейшим обновлением на Kafka 4.x.

Что такое KRaft controller quorum?

Это группа контроллеров Kafka, которая согласованно хранит метаданные кластера: brokers, topics, partitions, configs и права, связанные с работой платформы.

Продолжат ли клиенты видеть прежние bootstrap servers?

Обычно клиентские listeners сохраняются. Мы отдельно проверяем DNS, сертификаты, SASL, версии библиотек и реальные produce и consume для каждого критичного приложения.

Когда выполняется финализация миграции?

После сверки метаданных, тестов отказа и выбранного периода стабильной работы. Финализация закрепляет KRaft, поэтому решение фиксируется отдельным контрольным пунктом.

Как проверяются ACL после перехода?

Выгружаем исходный список, сравниваем его с KRaft и запускаем разрешённые и запрещённые действия тестовыми учётными записями producers и consumers.

Проверяется ли отказ одного controller?

Да. В тестовом или выбранном рабочем окне останавливаем один controller и подтверждаем выбор лидера, доступность quorum и продолжение клиентских операций.

Можно одновременно обновить клиентские приложения?

Клиенты оцениваются заранее. Совместимые приложения остаются на своём выпуске, а требующие изменения получают отдельную очередь обновления и контрольные сценарии.

Что получает команда эксплуатации?

Команда получает конфигурацию ролей и listeners, метрики quorum, реестр сверки, журнал фаз, сценарии проверки и порядок действий при сбое компонента.

Цена и изменения по ходу работы

Цена на странице окончательная?

Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.

Что означает резерв незапланированных работ?

Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.

Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.

Можно уточнять детали уже во время работы?

Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.

Начало работы и оплата

Как оформляются договор и оплата?

Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.

Когда начинается срок выполнения?

Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.

Как учитываются платные лицензии и внешние сервисы?

До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.

Проверка результата и гарантия

Как принимается готовая работа?

Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.

Какая гарантия действует после сдачи?

На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.

Следующий шаг

Опишите задачу

Опишите задачу и желаемый результат. Можно указать сайт, CMS, 1С, CRM, ERP или другую систему — разберёмся в ситуации и предложим подходящий следующий шаг.