Symptom
An application uses an on-premises Nacos instance during local development. After deployment to Enterprise Distributed Application Service (EDAS), the Nacos configuration stops working.
Cause
EDAS provides a GA (General Availability) version of Nacos. When you deploy a Nacos-based application, EDAS automatically replaces the Nacos server address with the address of its managed Nacos instance. If you have additional requirements, you can also use a self-managed Nacos instance.
This automatic replacement causes configuration failures in two scenarios:
Scenario 1: EDAS configuration center without synced configurations. The EDAS configuration center is in use, but configurations from the self-managed Nacos have not been synchronized to it.
Scenario 2: Self-managed Nacos without required JVM parameters. A self-managed Nacos instance is in use, but the required JVM parameters have not been added. EDAS replaces the Nacos server address with the configuration center address.
If the Nacos Client version is earlier than 1.0.1, the steps below may not resolve the issue. Verify the version before proceeding.
Solution
Step 1: Verify the Nacos Client version
Confirm that the Nacos Client version is 1.0.1 or later. If the version is earlier than 1.0.1, upgrade it first.
Step 2: Determine the configuration management approach
Choose a solution based on how you manage application configurations:
EDAS configuration center -- Go to Solution A.
Self-managed Nacos -- Go to Solution B.
Solution A: Synchronize configurations to the EDAS configuration center
If you use the EDAS configuration center, create and synchronize configurations from your self-managed Nacos to the corresponding namespace in the configuration center.
For detailed steps, see Create a configuration item.
Solution B: Add JVM parameters for self-managed Nacos
If you use a self-managed Nacos instance, add the following JVM parameters to the application configuration. These parameters disable the endpoint and namespace parsing rules that EDAS uses to replace the Nacos server address, so your self-managed Nacos address is preserved after deployment.
-Dnacos.use.endpoint.parsing.rule=false
-Dnacos.use.cloud.namespace.parsing=false
Add these parameters during application development or after deployment. For instructions, see Configure JVM parameters.
Restart the application after adding the parameters.