


29 октября AWS добавила в Amazon MSK Connect обновление пользовательского плагина и конфигурации worker у существующего коннектора. Раньше для такой замены требовалось удалить коннектор и создать его заново. На Mentoring.digital разбираем, какую операцию упрощает изменение и что проверить перед обновлением потока данных.
MSK Connect управляет коннекторами Apache Kafka Connect. Они переносят данные между Kafka и внешними системами: source-коннектор читает источник и отправляет записи в кластер, sink-коннектор получает записи из Kafka и передаёт их получателю.
Теперь можно установить новую версию кода коннектора, например с обновлёнными зависимостями, сохранив сам коннектор. Отдельно можно заменить worker configuration. AWS приводит примеры таких изменений: выбор конвертеров ключей и значений, настройка свойств producer и consumer для требований к пропускной способности и задержке.
При обновлении коннектор сохраняет committed offsets, то есть зафиксированные позиции обработки. После завершения операции задачи продолжают работу с сохранённого места. Возможность доступна без дополнительной платы во всех регионах, где поддерживается MSK Connect.
Это не следует читать как обещание непрерывной работы без паузы или универсальную гарантию отсутствия повторов во внешней системе. Анонс описывает сохранение подтверждённых offsets. Совместимость новой версии плагина, формата данных и поведения получателя нужно проверять отдельно.
До замены сохраните действующую конфигурацию, версию плагина и критерии успешной обработки. В тестовом потоке используйте записи с различимыми идентификаторами: так проще сопоставить отправленные данные с результатом у получателя. Проверьте, что после обновления появляются новые записи, а журнал не содержит ошибок преобразования.
Особого внимания требует смена key/value converter. Успешный запуск worker ещё не подтверждает, что следующая система понимает новый формат. Сначала проверьте совместимость схемы, затем задержку обработки и поведение при повторной доставке. Обсудить контракт данных и план проверки можно с ментором по backend и интеграциям. Критерий приёмки должен описывать результат в системе-получателе, а не только состояние коннектора в панели.