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

Microservices Engine:クラウドネイティブゲートウェイを使用した MSE Nacos サービスの管理

最終更新日:Mar 27, 2025

システムアーキテクチャの基本単位として、クラウドネイティブゲートウェイは従来のトラフィックゲートウェイとマイクロサービスゲートウェイを統合します。この統合により、ネットワークのオーバーヘッドと O&M コストが大幅に削減され、さまざまなトラフィックガバナンス手法と体系的な可観測性機能が提供されます。このトピックでは、クラウドネイティブゲートウェイを Microservices Engine(MSE)Nacos レジストリのサービスソースに関連付けることによって、ルーティングポリシーとアラートを設定する方法について説明します。

前提条件

重要

クラウドネイティブゲートウェイを、MSE Nacos または ZooKeeper レジストリに登録されているオンプレミスサービスに関連付けることはできません。

ルートの作成

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

  2. 左側のナビゲーションペインで、Cloud-Native Gateway > ゲートウェイリスト を選択します。[ゲートウェイ] ページで、ゲートウェイの名前をクリックします。

  3. 左側のナビゲーションペインで、Routes タブをクリックします。[ルート] タブで、Add Route をクリックします。

  4. Add Route ページで、[ルーティングルール名] フィールドに springcloud-demo と入力し、[ドメイン名] ドロップダウンリストから * を選択します。[パス] セクションで、ドロップダウンリストから [プレフィックス] を選択し、フィールドに / と入力します。[ルートポイント] パラメータを [単一サービス] に設定し、[サービス名] ドロップダウンリストの [サービスの関連付け] をクリックします。

    image

  5. [サービスの関連付け] パネルで、ビジネス要件に基づいてパラメータを設定し、[OK] をクリックします。

    image

  6. [サービス名] ドロップダウンリストから nacos-service-consumer を選択し、[保存してアドバタイズ] をクリックします。

ルーティングポリシーの設定

ルーティングポリシーが設定されていない場合

  1. MSE コンソール にログインします。

  2. トップナビゲーションバーで、リージョンを選択します。

  3. 左側のナビゲーションペインで、Cloud-Native Gateway > ゲートウェイリスト を選択します。[ゲートウェイ] ページで、ゲートウェイの名前をクリックします。

  4. Overview ページの Gateway Ingress タブで、ゲートウェイの [イングレス IP アドレス] を表示します。

    image

    説明

    クラウドネイティブゲートウェイのイングレス IP アドレスは、ゲートウェイに関連付けられている SLB インスタンスの IP アドレスです。 SLB インスタンスをセルフマネージド SLB インスタンスに置き換えることができます。詳細については、「イングレスとして指定された SLB インスタンスの管理」をご参照ください。

  5. テストリクエストを送信するには、次のコマンドを実行します。

    curl -I http://8.136.104.xx/echo-rest/hello
    説明

    上記のコマンドには、Nacos サービスソースのデモサービスが含まれています。 URL をバックエンドサービスの URL に置き換えることができます。

    次の結果が返されます。

    HTTP/1.1 200 OK
    Content-Type: text/plain;charset=UTF-8
    Content-Length: 5
    Date: Thu, 29 Aug 2024 08:21:47 GMT
    req-cost-time: 9
    req-arrive-time: 1724919707979
    resp-start-time: 1724919707988
    x-envoy-upstream-service-time: 8
    server: istio-envoy

スロットリングポリシーが設定されている場合

高並列アクセスシナリオでは、アプリケーションに適切なスロットリングポリシーが設定されていない場合、過剰なリクエストによりバックエンドサービスが過負荷になる可能性があります。これは、サービスの応答速度に悪影響を及ぼしたり、サービスのクラッシュを引き起こしたりする可能性があります。スロットリングは、リクエスト数がシステムで処理できる範囲内にあることを保証します。クラウドネイティブゲートウェイのスロットリングポリシーを設定できます。ルーティングポリシーの詳細については、「ルーティングポリシー」をご参照ください。

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

  2. 左側のナビゲーションペインで、Cloud-Native Gateway > ゲートウェイリスト を選択します。[ゲートウェイ] ページで、ゲートウェイの名前をクリックします。

  3. 左側のナビゲーションペインで、Routes をクリックします。

  4. 変更するルーティングルールを見つけ、Actions 列の Policies をクリックします。

  5. 表示されるページの Policies セクションで、Throttling タブをクリックします。

    スロットリングポリシーは、ルートの 1 秒あたりのクエリ数(QPS)を監視するために使用されます。 QPS が指定されたしきい値に達すると、トラフィックはすぐにブロックされます。これにより、トラフィックの急増によるバックエンドサービスの停止を防ぎ、バックエンドサービスの高可用性を確保します。

    1. Throttling タブで、[フロー制御ルール] をクリックします。

    2. Throttling Rules タブで、次のパラメータを設定します。

      限流流控规则.png

      パラメータ

      説明

      [全体 QPS しきい値]

      [全体 QPS しきい値] の値を入力します。

      1

      [web フォールバック動作]

      [web フォールバック動作][指定されたコンテンツを返す] または [指定されたページにジャンプする] を選択します。

      指定されたコンテンツを返す

      [HTTP ステータスコード]

      HTTP ステータスコードを入力します。デフォルト値は 429 です。

      429

      [返される Content-type]

      [返される Content-type][プレーンテキスト] または [JSON] を選択します。

      プレーンテキスト

      [HTTP テキスト]

      返されるテキストを入力します。

      springcloud-demo flow limit

      [開くかどうか]

      このスイッチをオンにすると、設定されたスロットリングポリシーが有効になります。

      image

    3. New または [保存] をクリックして、ルールを作成または更新します。表示されるメッセージで、[OK] をクリックします。

  6. 次のスクリプトを実行して、テストリクエストを送信します。

    Windows

    @echo off
    
    set "localUrl= http://8.136.104.xxx/echo-rest/hello"
    
    :loop
    curl -i -s %localUrl%
    
    goto loop

    Linux

    #!/bin/bash
    
    URL="http://8.136.104.xxx/echo-rest/hello"
    
    while true; do
        curl -i -s $URL
    done

    次の結果が返されます。スロットリングポリシーを有効にすると、HTTP ステータスコード 429 が返されます。

    helloHTTP/1.1 429 Too Many Requests
    content-type: text/plain; charset=UTF-8
    content-length: 26
    date: Thu, 29 Aug 2024 08:54:46 GMT
    server: istio-envoy
    
    springcloud-demo flow limit HTTP/1.1 200 OK
    Content-Type: text/plain;charset=UTF-8
    Content-Length: 5
    Date: Thu, 29 Aug 2024 08:54:46 GMT
    req-cost-time: 8
    req-arrive-time: 1724921686961
    resp-start-time: 1724921686970
    x-envoy-upstream-service-time: 7
    server: istio-envoy

参照資料

クラウドネイティブゲートウェイに関する FAQ を参照するか、クラウドネイティブゲートウェイの AI 診断ツールを使用してトラブルシューティングを行うことができます。 AI 診断ツールの使用方法については、「クラウドネイティブゲートウェイの AI 診断」をご参照ください。