このトピックでは、アプリケーションアクセス、サービスクエリ、アプリケーションガバナンス、エンドツーエンドカナリアリリース、開発テストガバナンス、システム設定など、マイクロサービスガバナンスの機能の使用方法について説明します。
アプリケーションアクセス
アプリケーションのデプロイ環境と言語に基づいて複数のメソッドを使用して、アプリケーションに対してマイクロサービスエンジン(MSE)マイクロサービスガバナンスを有効にすることができます。
マイクロサービス名前空間の管理
マイクロサービス名前空間は、管理と配布を容易にするためにマイクロサービスのセットをまとめて編成するためのポリシーのようなものです。 マイクロサービス名前空間は拡張可能です。 マイクロサービス名前空間を使用して、マイクロサービスと関連する依存関係をグループ化および分離できます。 また、さまざまなセキュリティポリシー、アクセス制御ポリシー、およびリソース制約をマイクロサービスに割り当てることもできます。 詳細については、「マイクロサービス名前空間の管理」をご参照ください。
ACK または ACS クラスタ内の Java マイクロサービスアプリケーションに対してマイクロサービスガバナンスを有効にする
Alibaba Cloud Container Service for Kubernetes(ACK)クラスタまたは Alibaba Cloud Container Compute Service(ACS)クラスタにデプロイされている Spring Cloud アプリケーションや Dubbo アプリケーションなどのマイクロサービスアプリケーションに対して、マイクロサービスガバナンスを有効にすることができます。 詳細については、「ACK または ACS クラスタ内の Java マイクロサービスアプリケーションに対してマイクロサービスガバナンスを有効にする」をご参照ください。
ACK クラスタ内の Go マイクロサービスアプリケーションに対してマイクロサービスガバナンスを有効にする
ACK クラスタにデプロイされている Go マイクロサービスアプリケーションに対してマイクロサービスガバナンスを有効にすることができます。 たとえば、Gin フレームワークを使用する Go アプリケーションに対してマイクロサービスガバナンスを有効にすることができます。 詳細については、「ACK クラスタ内の Go マイクロサービスアプリケーションに対して MSE マイクロサービスガバナンスを有効にする」をご参照ください。
ECS インスタンス上のマイクロサービスアプリケーションに対してマイクロサービスガバナンスを有効にする
Elastic Compute Service(ECS)インスタンスおよび Alibaba Cloud 以外の仮想マシン(VM)にデプロイされているマイクロサービスアプリケーションに対して、マイクロサービスガバナンスを有効にすることができます。 詳細については、「ECS インスタンス上のマイクロサービスアプリケーションに対してマイクロサービスガバナンスを有効にする」をご参照ください。
オープンソース Kubernetes クラスタ内のアプリケーションに対してマイクロサービスガバナンスを有効にする
オープンソース Kubernetes クラスタ内の Spring Cloud アプリケーションと Dubbo アプリケーションに対してマイクロサービスガバナンスを有効にすることができます。 マイクロサービスガバナンス機能には、無損失オフライン、外れ値削除、サービスクエリ、サービス認証、サービステスト、カナリアリリースが含まれます。 マイクロサービスガバナンス機能は、オンラインマイクロサービスアプリケーションの安定性と開発効率を大幅に向上させます。 詳細については、「オープンソース Kubernetes クラスタ内のアプリケーションに対して MSE マイクロサービスガバナンスを有効にする」をご参照ください。
マイクロサービスガバナンスにカスタムインターフェイスを追加する
Java 用 SDK のカスタムイベントトラッキングを Java エージェントと統合することにより、アプリケーションに対してマイクロサービスガバナンスを有効にすることができます。 詳細については、「マイクロサービスガバナンスにカスタムインターフェイスを追加する」をご参照ください。
Alibaba Cloud 以外の VPC 環境でアプリケーションに対してマイクロサービスガバナンスを有効にするためのネットワーク設定を構成する
Alibaba Cloud 以外の仮想プライベートクラウド(VPC)環境でアプリケーションに対してマイクロサービスガバナンスを有効にする場合は、「Alibaba Cloud 以外の VPC 環境でマイクロサービスガバナンスを有効にするためのネットワーク構成」をご参照ください。
サービスクエリ
サービスクエリ機能を使用すると、マイクロサービスガバナンスが有効になっているアプリケーションのサービスの詳細とサービスコントラクト情報を表示できます。
サービスをクエリする
アプリケーションに対してマイクロサービスガバナンスが有効になったら、MSE コンソールにログインして、Spring Cloud アプリケーションまたは Dubbo アプリケーションのサービスリストとサービスの詳細をクエリできます。 詳細については、「サービスをクエリする」をご参照ください。
サービスコントラクトを表示する
サービスコントラクトは、マイクロサービスのインターフェースと動作を記述します。 MSE では、サービスコントラクトはプロバイダーとコンシューマー間の通信ルールを定義します。 サービスコントラクトには、サービスの入力、出力、およびエラー処理に関する情報を含めることもできます。 これにより、コンシューマーはサービスをよりよく理解し、使用することができます。 詳細については、「サービスコントラクトを表示する」をご参照ください。
アプリケーションガバナンス
マイクロサービスガバナンスが有効になっているアプリケーションのトラフィックガバナンス機能を使用できます。 トラフィックガバナンス機能には、無損失オンラインとシャットダウン、システム保護構成、トラフィック保護、タグベースルーティング、メッセージングのカナリアリリースなどの機能が含まれます。
アプリケーションの概要
アプリケーションに対してマイクロサービスガバナンスが有効になったら、[アプリケーションの概要] ページで、クエリ/秒(QPS)データや上位 N リストなどの情報を表示できます。 詳細については、「アプリケーションの概要」をご参照ください。
インターフェースの詳細
[API の詳細] ページには、QPS、応答時間(RT)、同時実行性など、アプリケーションのすべてのインターフェースの詳細が表示されます。 WEB サービスや RPC サービスなどのさまざまなタイプのインターフェースのタブをクリックして、関連する詳細ページに移動できます。 詳細については、「API の詳細」をご参照ください。
ノードの詳細
ノードの詳細機能を使用すると、QPS データやタグやステータスなどの基本的なノードデータなど、アプリケーションのすべてのノードに関する基本情報を表示できます。 詳細については、「ノードの詳細を表示する」をご参照ください。
トラフィックガバナンス
トラフィックガバナンス機能は、トラフィックを調整するために使用されます。 これにより、マイクロサービスアプリケーションの負荷分散とフォールトトレランス機能を実装できます。 トラフィックガバナンスにより、ピーク負荷のシフトやトラフィック調整などの機能を実装して、マイクロサービスインスタンスの高可用性と高い同時実行性を確保できます。 詳細については、「トラフィックガバナンス」をご参照ください。
エンドツーエンドカナリアリリース
カナリアリリースは、本番システムに影響を与えることなく、反復とメンテナンスのためにトラフィックを複数のバージョンに分散できます。 MSE で特定のマイクロサービスインスタンスに対してエンドツーエンドカナリアリリースを実装できます。 これにより、トラフィックをきめ細かく制御し、マイクロサービスの品質と安定性をより正確に評価できます。
MSE クラウドネイティブゲートウェイに基づいてエンドツーエンドカナリアリリースを実装する
アプリケーションに対してマイクロサービスガバナンスが有効になったら、MSE クラウドネイティブゲートウェイを構成してエンドツーエンドカナリアリリースを実装できます。 クラウドネイティブゲートウェイを使用して、バックエンドサービスを公開できます。 詳細については、「MSE クラウドネイティブゲートウェイに基づいてエンドツーエンドカナリアリリースを実装する」をご参照ください。
MSE クラウドネイティブ API ゲートウェイに基づいてエンドツーエンドカナリアリリースを実装する
クラウドネイティブゲートウェイを使用して、ACK クラスタにデプロイされているバックエンドアプリケーション、または Nacos インスタンスに登録されているアプリケーションでエンドツーエンドカナリアリリースを実装できます。
MSE Ingress ゲートウェイに基づいてエンドツーエンドカナリアリリースを実装する
MSE Ingress ゲートウェイは、MSE クラウドネイティブゲートウェイに基づいて開発され、強化された Ingress トラフィック管理機能を提供します。 MSE Ingress ゲートウェイに基づいてエンドツーエンドカナリアリリースを実装できます。 また、アプリケーションのコードを変更することなく、エンドツーエンドのトラフィック調整を実装することもできます。 詳細については、「MSE Ingress ゲートウェイに基づいてエンドツーエンドカナリアリリースを実装する」をご参照ください。
セルフマネージド Spring Cloud ゲートウェイまたは Zuul ゲートウェイに基づいてエンドツーエンドカナリアリリースを実装する
マイクロサービスアーキテクチャの API ゲートウェイで Spring Cloud ゲートウェイまたは Zuul ゲートウェイを使用している場合は、カナリアバージョンにリクエストをルーティングするルーティングルールを構成して、カナリアバージョンを検証およびテストできます。 詳細については、「ユーザーが作成した Spring Cloud Gateway または Zuul ゲートウェイに基づいてエンドツーエンドグレースケールを実装する」をご参照ください。
Kruise Rollouts を使用して MSE ベースのエンドツーエンドカナリアリリースを実装する
Kruise Rollouts は、カナリアリリースやブルーグリーンデプロイメントなど、さまざまなカナリアリリースポリシーを提供します。 Kruise Rollouts とマイクロサービスガバナンスを併用して、サービス呼び出しプロセス中にアプリケーションの新しいバージョンのスムーズなカナリアリリースを実装できます。 これにより、新しいバージョンの安定性が確保されます。 詳細については、「Kruise Rollouts を使用して MSE ベースのエンドツーエンドカナリアリリースを実装する」をご参照ください。
MSE エンドツーエンドカナリアリリースの非同期タスクを実行する
MSE では、非同期パススルーのスキャンパッケージを追加することにより、カスタム非同期タスクを作成してタグベースのトラフィックパススルーを実装できます。 詳細については、「MSE エンドツーエンドカナリアリリースの非同期タスクを実行する」をご参照ください。
システム設定
ビジネス要件に基づいてマイクロサービスガバナンス設定を管理できます。
マイクロサービスガバナンスコンポーネントを更新する
MSE のマイクロサービスガバナンスコンポーネントが更新されました。 ack-mse-pilot コンポーネントを ack-onepilot コンポーネントに更新できます。 詳細については、「マイクロサービスガバナンスコンポーネントを更新する」をご参照ください。
マイクロサービスガバナンスを無効にする
マイクロサービスガバナンスを使用してアプリケーションを管理する必要がなくなった場合は、できるだけ早くアプリケーションのマイクロサービスガバナンスを無効にすることをお勧めします。 詳細については、「マイクロサービスガバナンスを無効にする」をご参照ください。