Что нового в API7 Enterprise 3.2.14: Приоритет маршрутов и оптимизированная конфигурация Upstream

Zhihuang Lin

Zhihuang Lin

August 2, 2024

Products

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

Поддержка приоритета маршрутов

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

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

Приоритет маршрутов

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

Дублирование пути маршрута с одинаковым приоритетом

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

Дублирование пути маршрута с разным приоритетом

В этом случае при развертывании появится предупреждение, но оно не предотвратит развертывание и предназначено только для справки перед развертыванием.

Оптимизация конфигурации вышестоящих сервисов

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

Улучшенное отображение канареечного переключения

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

Гибкая конфигурация вышестоящих сервисов

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

Быстрое добавление маршрутов для сервисов

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

Оптимизированная конфигурация подключения вышестоящих сервисов

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

Поддержка импорта групп шлюзов и генерации сервисов через OpenAPI

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

Импорт OpenAPI для добавления сервиса

Конфигурация сервиса при импорте API

Итог

API7 Enterprise v3.2.14 реализовал несколько оптимизаций для удовлетворения потребностей в гибкости и масштабируемости в современной архитектуре микросервисов.

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

Tags: