Внешний сервис Cluster API изменил точку входа для получения списка коннекторов. Старый эндпоинт будет выведен из эксплуатации. Необходимо адаптировать наш клиентский код.
- Было (v1):
GET {clusterApiUrl}/topics/getAllConnectors/{connectHost}/{protocol}/{clusterId}?connectorStatus=true
- Стало (v2):
GET {clusterApiUrl}/v2/connectors?host={connectHost}&protocol={protocol}&cluster={clusterId}&includeStatus=true
Обоснование
- Консолидация API-нейминга и версионирования: провайдер Cluster API переносит коннекторные эндпоинты в единое пространство /v2 с унифицированными query-параметрами (host, protocol, cluster, includeStatus) вместо смешанных path/query схем в v1.
- Улучшение кэширования и маршрутизации на стороне API-шлюза: переход к query-параметрам облегчает CDN/edge-правила и A/B rollout.
- Готовность к расширению ответа: новая версия допускает добавление фильтров и разрезов без ломки существующих клиентов (расширяемость query-параметров).
- Деприкация legacy-путей в разделе /topics/*: провайдер убирает историческую привязку к разделу "topics" для операций Kafka Connect.
Детали изменения
- Переезд с path-параметров ({connectHost}/{protocol}/{clusterId}) на query-параметры (host, protocol, cluster).
- Переименование query-параметра: connectorStatus (v1) -> includeStatus (v2).
- Базовый путь: было /topics/getAllConnectors/, стало /v2/connectors.
Стратегия обратной совместимости
Рекомендуется мягкий переход (graceful migration):
- Сначала пробовать v2 (GET /v2/connectors ...)
- При 404/405/Not Implemented — автоматически откатываться на v1 (старый путь)
- После полной готовности инфраструктуры — убрать fallback на v1 в одной из следующих минорных версий
Риски и влияние
- При отсутствии fallback и задержке раскатки Cluster API v2 возможны деградации функционала получения списка коннекторов.
- Изменение имени параметра может привести к неверным результатам (статусы не будут загружаться), если забыть переименовать connectorStatus -> includeStatus.
План тестирования
- Юнит-тест: корректная сборка запроса для v2 (правильные query-параметры).
- Интеграционный тест/мок: успешный ответ v2 и корректный парсинг в ConnectorsStatus.
- Негативный тест: v2 возвращает 404 — выполняется откат на v1; результат не меняется.
Критерии приемки
- Сервис корректно получает список коннекторов через v2 при доступности нового API.
- При недоступности v2 автоматически используется v1 без влияния на пользовательский функционал.
- Тесты проходят, регрессий по связанному функционалу (синхронизация Kafka Connect) нет.
Чеклист задач
Внешний сервис Cluster API изменил точку входа для получения списка коннекторов. Старый эндпоинт будет выведен из эксплуатации. Необходимо адаптировать наш клиентский код.
GET {clusterApiUrl}/topics/getAllConnectors/{connectHost}/{protocol}/{clusterId}?connectorStatus=true
GET {clusterApiUrl}/v2/connectors?host={connectHost}&protocol={protocol}&cluster={clusterId}&includeStatus=true
Обоснование
Детали изменения
Стратегия обратной совместимости
Рекомендуется мягкий переход (graceful migration):
Риски и влияние
План тестирования
Критерии приемки
Чеклист задач