Что нового в API7 Enterprise 3.2.14: Приоритет маршрутов и оптимизированная конфигурация Upstream
August 2, 2024
В современной архитектуре микросервисов, по мере постоянного развития бизнес-потребностей, гибкость и масштабируемость стали критически важными факторами. Для удовлетворения сложных требований к настройке сети, таких как миграция маршрутов между сервисами и частые изменения конфигураций вышестоящих сервисов, API7 Enterprise v3.2.14 реализовал несколько оптимизаций функций.
Поддержка приоритета маршрутов
Связывание маршрута с новым сервисом обычно включает два шага: сначала настройка маршрута на новом сервисе, а затем удаление конфигурации маршрута из старого сервиса. Однако в течение этих двух шагов конфигурации маршрутов на новом и старом сервисах могут быть активны одновременно, что приводит к неопределенному распределению трафика, что может вызвать конфликты сервисов и несогласованность данных.
Для решения этой проблемы API7 Enterprise вводит функцию приоритета маршрутов. Эта функция позволяет указывать приоритеты при настройке маршрутов, при этом система выбирает путь маршрута на основе указанных приоритетов. Устанавливая соответствующие приоритеты, вы можете обеспечить плавный переход трафика во время миграции сервисов и переключения маршрутов, тем самым избегая конфликтов сервисов и несогласованности данных.

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

Однако, если вам нужно настроить маршруты с одинаковыми домен + префикс пути + путь в одной группе шлюзов, вам достаточно назначить новый маршрут с другим приоритетом, например, 1.

В этом случае при развертывании появится предупреждение, но оно не предотвратит развертывание и предназначено только для справки перед развертыванием.
Оптимизация конфигурации вышестоящих сервисов
- Вкладка отображения для канареечного переключения была оптимизирована. Когда канареечное переключение внутри сервиса находится в процессе, вкладка будет показывать процент разделения для каждого вышестоящего сервиса, что позволяет быстро понять статус.

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

- Формы конфигурации, связанные с подключением вышестоящих сервисов, были оптимизированы. Некоторые заголовки форм были изменены, а элементы с сильной корреляцией были объединены, с четким указанием логики выполнения по умолчанию для некоторых конфигураций, что снижает сложность при заполнении форм.
Быстрое добавление маршрутов для сервисов
При добавлении сервиса в группу шлюзов с отключенной кнопкой "Принудительная публикация сервиса" можно увидеть переключатель "Добавить первый маршрут". После включения этого переключателя можно заполнить конфигурацию маршрута.

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


Итог
API7 Enterprise v3.2.14 реализовал несколько оптимизаций для удовлетворения потребностей в гибкости и масштабируемости в современной архитектуре микросервисов.
Введение приоритета маршрутов обеспечивает плавный переход трафика во время миграции сервисов. Конфигурация вышестоящих сервисов была улучшена с оптимизированным отображением канареечного переключения и упрощенными формами конфигурации, что делает изменения вышестоящих сервисов более удобными. Кроме того, новые функции для быстрого добавления маршрутов и импорта сервисов через OpenAPI упростили процесс конфигурации сервисов, повышая операционную эффективность.
