ローカルで開発された Spring Cloud アプリケーションまたは Dubbo アプリケーションを SAE にデプロイする場合、SAE サービスレジストリまたはセルフマネージド Nacos インスタンスをサービスの登録と検出に使用できます。このトピックでは、SAE コンソールでアプリケーションの Nacos サービスの登録と検出を設定する方法について説明します。
前提条件
yum コマンドがインストールされている。
アプリケーションを実行する前に、8848 などの Nacos レジストリのアクセス ポートがセキュリティグループに追加されていることを確認します。具体的な手順については、「セキュリティグループルールを追加する」をご参照ください。
推奨事項
多数のマイクロサービスアプリケーションがある場合は、推奨レベルの高い順にリストされている以下のタイプのサービスレジストリのいずれかを使用できます。
MSE Nacos レジストリ
セルフマネージドサービスレジストリ
SAE 組み込みサービスレジストリ
ステップ 1:Nacos を設定する
Nacos を実行するには Java 環境が必要です。ソースコードから Nacos をビルドする場合は、Maven も必要です。インストール後、Nacos はサービスの登録と検出を提供するため、アプリケーションでサービスレジストリを必ず指定してください。その後、サービスは自動的に登録および検出されます。
具体的な手順については、「Nacos Quick Start」をご参照ください。
ステップ 2:SAE コンソールでサービスの登録と検出機能を設定する
このセクションでは、主要な手順のみを説明します。
操作のエントリポイントは、シナリオによって異なります。
アプリケーションの作成時
SAE コンソール にログオンします。左側のナビゲーションウィンドウで、 をクリックします。次に、リージョンと名前空間を選択し、[アプリケーションの作成] をクリックします。
[基本情報] ページで、必要なパラメーターを設定し、[次へ: 詳細設定] をクリックします。
実行中のアプリケーションの変更時
警告アプリケーションを再デプロイすると、アプリケーションが再起動されます。ビジネスの中断などの予期しないエラーを防ぐために、オフピーク時にアプリケーションをデプロイすることをお勧めします。
SAE コンソール にログオンします。左側のナビゲーションウィンドウで、 をクリックします。次に、リージョンと名前空間を選択し、アプリケーションの名前をクリックします。
アプリケーションの [基本情報] ページで、[アプリケーションのデプロイ] をクリックします。
停止したアプリケーションの変更時
SAE コンソール にログオンします。左側のナビゲーションウィンドウで、 をクリックします。次に、リージョンと名前空間を選択し、アプリケーションの名前をクリックします。
アプリケーションの [基本情報] ページで、[アプリケーション設定の変更] をクリックします。
Nacos に接続するには、次のいずれかの方法を選択します。
方法 1:サービスの登録と検出を設定する
[サービスの登録と検出] セクションで、[Nacos ベースのレジストリサービスと検出] を [セルフマネージドレジストリ (Nacos、ZooKeeper など)] に設定します。
SAE は、Java マイクロサービスの自動アドレッシングをサポートする Nacos サーバーを提供します。SAE[サービスの登録と検出]

方法 2:起動パラメーターを設定する
起動パラメーターを設定する際は、以下を確認してください。
SAE ネットワークがセルフマネージド Nacos インスタンスのネットワークに接続されていることを確認します。
-Dパラメーターと-XXパラメーターを一緒に使用しないでください。一緒に使用すると、コマンドが無効になる場合があります。次のコードは例を示しています。変更前:
java -Dalicloud.deployment.mode=EDAS_MANAGED -XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0 -XX:+UnlockExperimentalVMOptions -XX:+UseWisp2 -Dio.netty.transport.noNative=true -XX:+UseG1GC -Dspring.profiles.active=yace -Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false -jar /home/admin/app/xx-server.jar変更後:
java -XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0 -XX:+UnlockExperimentalVMOptions -XX:+UseWisp2 -Dio.netty.transport.noNative=true -XX:+UseG1GC -Dspring.profiles.active=yace -Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false -jar /home/admin/app/xx-server.jar
イメージまたは JAR パッケージを使用してアプリケーションをデプロイし、
-Dnacos.use.endpoint.parsing.rule=falseおよび-Dnacos.use.cloud.namespace.parsing=false起動パラメーターを設定することをお勧めします。重要
起動パラメーターは、
-jarの前に配置する必要があります。配置しないと、SAE 以外が提供するサービスレジストリを使用できない場合があります。イメージを使用する場合は、イメージファイルの起動コマンドで
-Dnacos.use.endpoint.parsing.rule=falseパラメーターと-Dnacos.use.cloud.namespace.parsing=falseパラメーターを設定する必要があります。詳細については、「イメージを作成する」をご参照ください。次のコマンドは例を示しています。
RUN echo 'eval exec java -Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false -jar $CATALINA_OPTS /home/admin/app/hello-edas-0.0.1-SNAPSHOT.jar'> /home/admin/start.sh && chmod +x /home/admin/start.shJAR パッケージを使用する場合は、コンソールの [起動コマンドの設定] の下の [オプション設定] テキストボックスに
-Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=falseと入力します。次の図は、[Open JDK 8] 環境で実行される Java アプリケーションを示しています。詳細については、「起動コマンドを設定する」をご参照ください。