Este tema describe cómo integrar un centro de configuración de MSE Nacos con su aplicación Spring Cloud para gestionar la configuración de forma centralizada y habilitar la actualización dinámica.
Contexto
En una arquitectura de microservices, gestionar configuraciones con valores codificados o archivos estáticos resulta difícil, especialmente a medida que aumenta el número de microservices y entornos. Esta práctica suele provocar inconsistencias en la configuración y retrasos en las actualizaciones. Un centro de configuración resuelve estos problemas al ofrecer un lugar centralizado para almacenar, gestionar y actualizar dinámicamente los datos de configuración. Esto garantiza el aislamiento y la sincronización de la configuración entre distintos entornos e instancias, al tiempo que mejora la flexibilidad y la seguridad de las actualizaciones.
Requisitos previos
Descargue Maven y configure las variables de entorno necesarias.
Una aplicación Spring Cloud existente. Si no cuenta con una, puede utilizar la aplicación de demostración proporcionada en este tema: nacos-service-config.zip.
-
Importante
Si su aplicación no se encuentra en la misma región que MSE Nacos o no está alojada en un servidor de Alibaba Cloud, debe seleccionar la red pública al crear el motor de Nacos.
Para garantizar que su aplicación pueda acceder a MSE a través de la red pública, debe configurar una lista de permitidos. Para obtener más información, consulte Set a whitelist.
Descripción general
Al integrar un centro de configuración de MSE Nacos con una aplicación Spring Cloud, puede probar su función de actualización dinámica mediante la publicación del parámetro de configuración useLocalCache=true, su modificación a useLocalCache=false en la consola de MSE Nacos y la posterior solicitud a la API de configuración de la aplicación desde la línea de comandos para recuperar el valor de useLocalCache y observar los cambios.
Crear y publicar una configuración: Defina y publique los ajustes iniciales de configuración en la consola de MSE.
Integrar MSE Nacos: Agregue las dependencias y propiedades necesarias para conectar su aplicación Spring Cloud al centro de configuración de MSE Nacos.
Verificar la actualización dinámica: Modifique la configuración en la consola y confirme que la aplicación aplica el cambio sin necesidad de reiniciarla.
Paso 1: Crear y publicar la configuración
Inicie sesión en la consola de MSE y seleccione una región en la barra de navegación superior.
Haga clic en el nombre de la instancia destino.
En el panel de navegación izquierdo, elija .
Encima de la lista de configuraciones, seleccione el namespace que creó.
-
Haga clic en Add Configuration. En el panel Add Configuration, introduzca la siguiente información:
NotaEste tema proporciona únicamente una configuración de ejemplo como referencia. Puede crear configuraciones según sus requisitos empresariales. Para obtener más información sobre los parámetros, consulte Create a configuration.
Establezca Data ID como
mse-nacos-config-client.propertiesy Group comoDEFAULT_GROUP. Para Configuration Format, seleccione Properties. En el campo Configuration Content, introduzcauseLocalCache=truey luego haga clic en Publish.
Una vez que haya introducido los detalles de la configuración, haga clic en Publish. La nueva configuración aparecerá en la lista Configurations.
Paso 2: Integrar MSE Nacos
-
(Opcional) Si no ha creado una aplicación Spring Cloud, puede utilizar este ejemplo para configurar rápidamente una aplicación sencilla.
-
Agregue la dependencia del centro de configuración de Nacos al archivo
pom.xmlde su aplicación Spring Cloud:NotaLas versiones de
Spring Cloud Alibaba,Spring CloudySpringBootdeben ser compatibles. Consulte las notas de versión en el sitio web oficial deSpring Cloud Alibabapara seleccionar una versión compatible con su aplicación. Se recomienda actualizar a la versión más reciente2023.x.<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2021.0.4.0</version> </dependency> -
Agregue la configuración relacionada con Nacos al archivo de configuración de su aplicación Spring Cloud:
ImportantePara utilizar un namespace específico en su aplicación, proporcione su ID.
# The public endpoint of your Nacos server. spring.cloud.nacos.config.server-addr=mse-XXX.nacos-ans.mse.aliyuncs.com:8848 # Specify the MSE Nacos namespace. To access the default public namespace, leave this blank or do not configure this item. spring.cloud.nacos.config.namespace=24075300-XXXX-XXXX-XXXX-0c17aa9f744b # Import a specific configuration file. spring.config.import=nacos:mse-nacos-config-client.properties?group=DEFAULT_GROUP&refreshEnabled=trueEn la página Instances, puede encontrar el endpoint público de MSE Nacos. El formato es
mse.XX.nacos.mse.aliyuncs.com. Después de realizar los cambios, ejecute el comando
mvn clean packagepara recompilar y empaquetar la aplicación.
Paso 3: Verificar la actualización dinámica
Los siguientes pasos de verificación se basan en la aplicación Spring Cloud de ejemplo y la configuración proporcionadas en este tema. Si utiliza su propia aplicación o configuraciones personalizadas, es posible que deba adaptar estos pasos.
Inicie la aplicación Spring Cloud ejecutando la función principal en la clase de inicio.
-
En su terminal, ejecute el siguiente comando para obtener la configuración
useLocalCachedel centro de configuración de MSE Nacos. La respuesta estrue.# Replace with your service's IP address and port. curl http://<your-service-ip>:18083/getConfig En la consola, edite la configuración, cambie su contenido a
useLocalCache=falsey publíquela nuevamente.Ejecute el comando de nuevo. La respuesta ahora es
false. Esto confirma que la aplicación recuperó los datos más recientes deuseLocalCachedesde MSE Nacos sin necesidad de reiniciarla.
Documentos relacionados
Si desea migrar de un centro de configuración de Nacos de código abierto autogestionado a un centro de configuración de MSE Nacos, consulte Migrate a self-managed Nacos configuration center to MSE Nacos.
Para obtener información sobre el registro y descubrimiento de servicios, consulte Integrate MSE Nacos as a registry in a Spring Cloud application
Si desea combinar las capacidades de una puerta de enlace de tráfico y una puerta de enlace de microservices, consulte Create an MSE cloud-native gateway.
Para conocer las funciones de gobernanza de servicios y protección de tráfico que desacoplan el middleware de su negocio, consulte Activate Microservices Governance.
Para obtener información sobre soluciones de coordinación distribuida destinadas a mejorar la alta disponibilidad del sistema, consulte Task Scheduling.