すべてのプロダクト
Search
ドキュメントセンター

Microservices Engine:YAML でのグレースフルスタートとシャットダウンの構成

最終更新日:Jan 08, 2025

オンラインアプリケーションでは、リリース、スケールアウト、スケールイン、再起動などの操作が必要になります。Microservices Engine(MSE)は、上記の操作を実行する際にアプリケーションを保護するために、グレースフルスタートおよびシャットダウン機能を提供します。グレースフルスタートおよびシャットダウン機能は、サービスプリフェッチ、サービス登録の遅延、事前通知などの機能を提供します。このトピックでは、YAML でグレースフルスタートおよびシャットダウン機能を構成する方法について説明します。

グレースフルスタートおよびシャットダウン規則の構成

  1. ACK クラスタ内のマイクロサービスアプリケーションに対して MSE マイクロサービスガバナンスを有効にします。詳細については、「ACK クラスタ内のマイクロサービスアプリケーションに対してマイクロサービスガバナンスを有効にする」をご参照ください。

  2. アプリケーションの ワークロードグレースフルスタートグレースフルシャットダウン ページで、パラメータを構成します。パラメータの詳細については、「」および「」をご参照ください。

    • パラメータは、spec > template > metadata > labels で構成されます。

    • 次の表に、パラメータを示します。

      パラメータ

      説明

      デフォルト値

      mse.lossless.enable

      グレースフルスタート機能を有効にするかどうかを指定します。

      • true

      • false

      false

      mse.lossless.warmupTime

      プリフェッチ期間。単位:秒。

      120

      mse.lossless.delayTime

      サービス登録の遅延時間。単位:秒。このパラメータに x の値を指定すると、アプリケーションまたはサービスは、アプリケーションの起動後 x 秒でマイクロサービスレジストリに登録されます。

      0

      mse.lossless.notice

      プロバイダがシャットダウンされたときに、コンシューマに事前に通知を送信するかどうかを指定します。

      false

    • サンプルコード:

      mse.lossless.enable: 'true'
      mse.lossless.delayTime: '30'
      mse.lossless.warmupTime: '60'
      mse.lossless.notice: 'false'

結果の確認

  1. MSE コンソール にログインし、上部のナビゲーションバーでリージョンを選択します。

  2. 左側のナビゲーションペインで、Microservices Governance > Application Governance を選択します。

  3. Application list ページで、目的のアプリケーションのリソースカードをクリックします。

  4. 左側のナビゲーションペインで、Traffic management をクリックします。表示されるページの Graceful Start/Shutdown タブで、グレースフルスタート規則の構成が YAML の構成と同じであることを確認します。アプリケーションを起動またはシャットダウンするときに、[トラフィック管理] ページの [グレースフルスタート/シャットダウン] タブで、イベントと 1 秒あたりのクエリ数(QPS)のトレンドチャートが YAML の構成と一致することを確認できます。

説明
  • YAML でグレースフルスタートおよびシャットダウン規則を構成した後、アプリケーションはすぐに再起動されます。アプリケーションが再起動されると、構成された規則が有効になります。

  • YAML でグレースフルスタートおよびシャットダウン規則のパラメータを構成しない場合、パラメータのデフォルト値が自動的に使用されます。

  • アプリケーションの [ワークロード] ページで YAML を使用してアプリケーションのグレースフルスタートおよびシャットダウン規則を変更し、MSE コンソールでも規則を変更した場合、YAML を使用して行った変更が優先されますMSE コンソールでグレースフルスタートおよびシャットダウン規則を変更した場合、アプリケーションが再起動された後、YAML で構成された規則によってコンソールの既存の規則が上書きされます。