API7 Enterprise 3.2.14 の新機能:Route Priority と最適化された Upstream 設定

Zhihuang Lin

Zhihuang Lin

August 2, 2024

Products

現代のマイクロサービスアーキテクチャにおいて、ビジネスニーズが進化し続ける中で、柔軟性と拡張性が重要な考慮事項となっています。クロスサービスのルート移行や頻繁なアップストリーム設定変更などの複雑なネットワーク設定要件に対応するため、API7 Enterprise v3.2.14ではいくつかの機能最適化が実装されました。

ルート優先度のサポート

新しいサービスにルートを関連付ける場合、通常は2つのステップが必要です。まず新しいサービスにルートを設定し、次に古いサービスからルート設定を削除します。しかし、これらの2つのステップの間、新しいサービスと古いサービスの両方でルート設定が有効になる可能性があり、トラフィックの分散が不確定になることで、サービスの競合やデータの不整合が発生する可能性があります。

この問題を解決するため、API7 Enterpriseではルート優先度機能が導入されました。この機能により、ルートを設定する際に優先度を指定でき、システムは指定された優先度に基づいてルートパスを選択します。適切な優先度を設定することで、サービス移行やルート切り替え時にスムーズなトラフィック遷移を確保し、サービスの競合やデータの不整合を回避できます。

ルート優先度

サービスがゲートウェイグループにデプロイされる際、同じグループ内の異なるサービスからのルートが同じドメイン + パスプレフィックス + パス + 優先度を持つ場合、システムはルートの競合を警告し、デプロイを阻止します。これにより、ゲートウェイが受信したリクエストが不確定なルートによって処理されることがなくなり、トラフィック分散の不確定性を回避できます。

同じ優先度の重複ルートパス

ただし、同じゲートウェイグループ内で同じドメイン + パスプレフィックス + パスを持つルートを設定する必要がある場合、新しいルートに異なる優先度(例えば1)を割り当てるだけで済みます。

異なる優先度の重複ルートパス

この場合、デプロイ時に警告が表示されますが、この警告はデプロイを阻止するものではなく、デプロイ前の参考情報としてのみ表示されます。

アップストリーム設定の最適化

  1. カナリアシフトの表示タブが最適化されました。サービス内でカナリアシフトが進行中の場合、タブには各アップストリームの分割割合が表示され、ステータスを迅速に把握できます。

カナリアシフトの表示改善

  1. サービステンプレートに基づいてゲートウェイグループにデプロイする際、デプロイプロセス中にすべてのアップストリーム関連設定を編集できるようになりました。すべてのアップストリーム設定がランタイム設定にアップグレードされ、サービスがデプロイされた後でも編集可能になり、頻繁なアップストリーム変更に対応しやすくなりました。

柔軟なアップストリーム設定

  1. アップストリーム接続に関連する設定フォームが最適化されました。一部のフォームタイトルが調整され、関連性の強い項目が集約され、特定の設定のデフォルト実行ロジックが明確に示されるようになり、フォーム入力時の複雑さが軽減されました。
カナリアシフトの表示改善

サービスのクイックルート追加

「サービスの強制公開」ボタンが無効になっているゲートウェイグループにサービスを追加する際、「最初のルートを追加」スイッチが表示されます。このスイッチを有効にすると、ルート設定を入力できます。

最適化されたアップストリーム接続設定

設定を入力した後、「追加」をクリックすると、サービスとそのサービスの最初のルートが同時に作成され、テスト環境でのテストルートのデプロイプロセスが簡素化されます。

OpenAPIを介したゲートウェイグループのインポートとサービスの生成サポート

強制公開プロセスが無効になっているゲートウェイグループでは、OpenAPI仕様をインポートして直接サービスを追加できるようになりました。

OpenAPIをインポートしてサービスを追加

APIをインポートするサービスの設定

まとめ

API7 Enterprise v3.2.14では、現代のマイクロサービスアーキテクチャにおける柔軟性と拡張性のニーズに対応するため、いくつかの最適化が実装されました。

ルート優先度の導入により、サービス移行中のスムーズなトラフィック遷移が確保されました。アップストリーム設定は、カナリアシフトの表示改善と設定フォームの簡素化により、アップストリーム変更がより便利になりました。さらに、クイックルート追加やOpenAPIを介したサービスのインポート機能により、サービスの設定プロセスが簡素化され、運用効率が向上しました。

Tags: