-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
Внешний сервис 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) нет.
Чеклист задач
- Обновить константы и сборку URL (ClusterApiService, KwConstants)
- Добавить fallback v2 -> v1
- Обновить тесты и моки
- Провести ручную проверку против стенда с Cluster API v2
- Удалить fallback в одной из следующих версий (отдельной задачей)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels