症状
アプリケーションは、ローカル開発時にオンプレミスの Nacos インスタンスを使用します。Enterprise Distributed Application Service (EDAS) にデプロイメントすると、Nacos の設定が機能しなくなります。
原因
EDAS は Nacos の一般提供 (GA) バージョンを提供します。Nacos ベースのアプリケーションをデプロイメントすると、EDAS は Nacos サーバーアドレスを、EDAS 設定センターのアドレスに自動的に置き換えます。追加要件がある場合は、セルフマネージドの Nacos インスタンスを使用することもできます。
この自動置換により、次の 2 つのシナリオで設定の失敗が発生します。
シナリオ 1:同期済みの設定がない EDAS 設定センター。 EDAS 設定センターを使用していますが、セルフマネージド Nacos の設定が設定センターに同期されていません。
シナリオ 2:必要な JVM パラメーターがないセルフマネージド Nacos。 セルフマネージド Nacos インスタンスを使用していますが、必要な JVM パラメーターが追加されていません。EDAS は Nacos サーバーアドレスを設定センターのアドレスに置き換えます。
Nacos クライアントのバージョンが 1.0.1 より前の場合、次の手順では問題を解決できない可能性があります。続行する前にバージョンを確認してください。
ソリューション
ステップ 1:Nacos クライアントのバージョンの確認
Nacos クライアントのバージョンが 1.0.1 以降であることを確認します。バージョンが 1.0.1 より前の場合は、先にアップグレードしてください。
ステップ 2:設定管理方法の決定
アプリケーションの設定をどのように管理しているかに基づいて、解決策を選択してください。
解決策 A:EDAS 設定センターへの設定の同期
EDAS 設定センターを使用する場合は、セルフマネージド Nacos で作成した設定を、設定センター内の対応する名前空間にも作成してください。
手順の詳細については、「設定項目を作成する」をご参照ください。
解決策 B:セルフマネージド Nacos 用の JVM パラメーターの追加
セルフマネージド Nacos インスタンスを使用する場合は、次の JVM パラメーターをアプリケーションの設定に追加してください。これらのパラメーターは、EDAS が Nacos サーバーアドレスを置き換えるために使用する、エンドポイントおよび名前空間の解析ルールを無効化します。これにより、デプロイメント後もセルフマネージド Nacos のアドレスが保持されます。
-Dnacos.use.endpoint.parsing.rule=false
-Dnacos.use.cloud.namespace.parsing=false
これらのパラメーターは、アプリケーション開発時またはデプロイメント後に追加できます。手順については、「JVM パラメーターを設定する」をご参照ください。
パラメーターを追加した後、アプリケーションを再起動してください。