Serverless App Engine(SAE)は、マイクロサービスエンジン(MSE)のマイクロサービスガバナンス機能を統合しており、アプリケーションを効率的に管理できます。このトピックでは、さまざまなシナリオでマイクロサービスガバナンスを有効にし、グレースフルスタートとシャットダウンを構成する方法について説明します。
概要
マイクロサービスガバナンス
SAE は、MSE とのシームレスな統合を通じて、強力な マイクロサービスガバナンス を提供します。サービスディスカバリと構成管理に加えて、グレースフルスタートとシャットダウン、トラフィックガバナンス、システム保護メッセージングのためのカナリアリリース、エンドツーエンドのトレース分析、インテリジェントサーキットブレーカー、デグレードポリシー、ゾーン内プロバイダー優先などの機能をサポートしています。これらの機能は、サービスの応答速度と安定性を大幅に向上させると同時に、アーキテクチャの運用と保守を簡素化します。MSE を使用すると、マイクロサービスアプリケーションは効率的かつ安定的に実行されます。
グレースフルスタートとシャットダウン
このセクションでは、グレースフルスタートとシャットダウンについてのみ説明します。その他のマイクロサービスガバナンスの機能と構成の詳細については、「マイクロサービスガバナンス」をご参照ください。
グレースフルスタート
SAE は、リリース、スケールアウト、スケールイン、再起動など、すべてのステージでオンラインアプリケーションを保護するためのグレースフルスタート機能を提供します。マイクロサービスアーキテクチャでは、プロバイダーサービスは登録されるとすぐにユーザーから呼び出すことができます。ただし、プロバイダーはデータベース接続プールの初期化など、初期化が必要になる場合があります。グレースフルスタートは、トラフィック量の多いマイクロサービスアプリケーションに推奨されます。
グレースフルシャットダウン
アプリケーションの更新とデプロイは、クライアントにとってシームレスである必要があり、アプリケーションの停止と再起動の間の期間がビジネス運用に影響を与えないようにする必要があります。マイクロサービスアプリケーション呼び出しの性質上、高並列時のプロバイダーアプリケーションのシャットダウン時に、コンシューマーアプリケーションはリアルタイムでステータスを検出できません。これにより、リクエストがオフラインインスタンスに転送され続け、リクエストエラーとトラフィック損失が発生します。デプロイ、シャットダウン、ロールバック、スケールイン、またはリセット中にビジネスに影響を与えることなくアプリケーションがシャットダウンされるようにするには、グレースフルシャットダウン機能を構成できます。
前提条件
これらの機能は Java アプリケーションにのみ適用されます。
マイクロサービスガバナンス プロフェッショナル版 がアクティブ化されている。
重要SAE でマイクロサービスガバナンスを使用すると、料金 が発生します。
アクセス方法
アクセス方法はシナリオによって異なります。
アプリケーションの作成
SAE コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。ターゲットリージョンと名前空間を選択し、[アプリケーションの作成] をクリックします。
[基本情報] ウィザードページで、パラメーターを構成し、[次へ: 詳細設定] をクリックします。
実行中のアプリケーションの変更
警告アプリケーションを再デプロイすると、アプリケーションが再起動されます。ビジネスの中断などの予期しないエラーを防ぐために、オフピーク時にアプリケーションをデプロイすることをお勧めします。
SAE コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。ターゲットリージョンと名前空間を選択し、ターゲットアプリケーションの名前をクリックします。
[基本情報] ページで、[アプリケーションのデプロイ] をクリックします。
停止したアプリケーションの変更
SAE コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。ターゲットリージョンと名前空間を選択し、ターゲットアプリケーションの名前をクリックします。
[基本情報] ページで、[アプリケーション構成の変更] をクリックします。
[マイクロサービスガバナンス] セクションを見つけて展開し、次のセクションの手順を実行します。
マイクロサービスガバナンスを有効にし、グレースフルスタートとシャットダウンを構成する
マイクロサービスガバナンスを有効にする
[マイクロサービスガバナンス] セクションで、機能をオンにします。

マイクロサービスガバナンス機能が有効になると、システムはアプリケーションの各インスタンスに組み込みエージェントを自動的に挿入します。このエージェントは約 0.2 コアと 200 MB のリソースを使用します。それに応じてリソースを計画してください。
グレースフルスタートとシャットダウンを構成する
グレースフルスタートを構成する
マイクロサービスガバナンス機能が有効になったら、[マイクロサービスガバナンス] セクションでグレースフルスタートを構成できます。
グレースフルスタート機能を有効にします。

少量フローウォームアップ時間と [登録の遅延] 期間を構成します。
パラメーター
説明
[少量フローウォームアップ時間 (秒)]
このメカニズムにより、新しいノードがリリースされたときに、ノードへのマイクロサービス呼び出しリクエストが低レベルに維持され、時間の経過とともに徐々に増加します。この設計により、コールドスタート時の Java アプリケーションの処理能力の弱点を軽減し、応答時間 (RT) の大幅な増加を防ぎます。ウォームアッププロセスは、プリセットされた期間が経過すると自動的に終了し、その後、ノードは想定どおりにリクエストを処理します。
[登録の遅延]
指定された期間だけサービス登録を延期します。アプリケーションの非同期リソースの起動後の読み込み時間が長い場合は、このパラメーターを変更し、新しくオンラインになったノードが呼び出しリクエストを受信するタイミングを延期します。
重要登録の遅延期間が 0 でない場合は、アプリケーションデプロイで readiness プローブ を構成し、アクセスパスを
/healthに、ポートを 54199 に設定する必要があります。これにより、Kubernetes はレジストリに完全に登録された後にのみサービスを準備完了と見なします。この対策により、ユーザーが使用可能なサービスプロバイダーを見つけられない場合の受信トラフィックの急激な低下を防ぎます。LivenessProbeを同じパス/healthに設定しないでください。そうすると、アプリケーションが再起動ループに入る可能性があります。
グレースフルシャットダウンを構成する
グレースフルシャットダウン機能は、マイクロサービスガバナンス機能が有効になっている場合、デフォルトで有効になっています。
グレースフルシャットダウンにより、サービスのリリース、スケールイン、再起動中にノードがシャットダウンされる前に、転送中のリクエストが処理されます。これにより、アプリケーションのシャットダウンによって発生する呼び出しエラーを防ぎます。