Microservices Engine (MSE) ofrece registros administrados de Nacos, ZooKeeper y Eureka para aplicaciones de Spring Cloud y Dubbo. Este tema describe los requisitos para crear una instancia, la configuración de aplicaciones para cada tipo de registro y los pasos para solucionar problemas.
Requisitos previos
Antes de empezar, asegúrese de contar con a continuación:
Una cuenta de Alibaba Cloud con MSE activado
Una instancia de Elastic Compute Service (ECS) donde se ejecute su aplicación
La información de Virtual Private Cloud (VPC) y región de su instancia ECS
Cree una instancia
Al crear una instancia de MSE, configure los siguientes parámetros:
|
Parámetro |
Requisito |
|
Tipo de red: VPC |
Seleccione la misma VPC que la instancia ECS donde se ejecuta su aplicación. |
|
Tipo de red: Internet |
Configure una lista blanca de direcciones IP. Especifique bloques CIDR con el formato |
|
Región |
Si selecciona VPC como tipo de red, elija la misma región que la instancia ECS donde se ejecuta su aplicación. |
|
Ancho de banda público |
Para acceder a la instancia de MSE mediante Internet, establezca el ancho de banda público en un valor mayor que 0. El endpoint público solo se genera cuando el ancho de banda público es distinto de cero. |
Conectarse a un registro de Nacos
Todos los ejemplos de configuración usan el endpoint público de su instancia de MSE como dirección del servidor. Reemplace mse-XX-p.nacos-ans.mse.aliyuncs.com por su endpoint real.
Spring Cloud
Agregue la siguiente configuración a su archivo application.properties:
spring.application.name=service-provider
server.port=18081
# Replace with the public endpoint of your MSE Nacos instance
spring.cloud.nacos.discovery.server-addr=mse-XX-p.nacos-ans.mse.aliyuncs.com:8848
Para usar un namespace personalizado, agregue:
spring.cloud.nacos.discovery.namespace=<your-namespace-id>
Dubbo (XML)
<dubbo:application name="demo-provider"/>
<dubbo:protocol name="dubbo" port="28082" />
<dubbo:service interface="com.alibaba.dubbo.api.IHelloService" ref="helloService"/>
<bean id="helloService" class="com.alibaba.dubbo.service.impl.IHelloServiceImpl"/>
<!-- Replace with the public endpoint of your MSE Nacos instance -->
<dubbo:registry address="nacos://mse-XX-p.nacos-ans.mse.aliyuncs.com:8848"/>
Para usar un namespace personalizado, actualice la dirección del registro:
<dubbo:registry address="nacos://mse-XX-p.nacos-ans.mse.aliyuncs.com:8848?namespace=<your-namespace-id>"/>
Dubbo (.properties)
dubbo.application.name=dubbo-consumer-demo
server.port=8080
# Replace with the public endpoint of your MSE Nacos instance
dubbo.registry.address=nacos://mse-XX-p.nacos-ans.mse.aliyuncs.com:8848
Para usar un namespace personalizado, agregue:
dubbo.registry.parameters.namespace=<your-namespace-id>
Para obtener más información sobre Nacos, consulte Nacos.
Conectarse a un registro de ZooKeeper
Spring Cloud
Agregue la siguiente configuración a su archivo application.yml:
spring:
application:
name: demo-provider
cloud:
zookeeper:
# Replace with the public endpoint of your MSE ZooKeeper instance
connect-string: mse-XX-p.nacos-ans.mse.aliyuncs.com:2181
discovery:
enabled: true
Dubbo (XML)
<!-- Replace with the public endpoint of your MSE ZooKeeper instance -->
<dubbo:registry address="zookeeper://mse-XX-p.nacos-ans.mse.aliyuncs.com:2181" />
Conectarse a un registro de Eureka
Spring Cloud
Agregue la siguiente configuración a su archivo application.yml:
server:
port: 8080
spring:
application:
name: demo-provider
eureka:
client:
serviceUrl:
# Replace with the public endpoint of your MSE Eureka instance
defaultZone: http://mse-XXX-p.eureka.mse.aliyuncs.com:8761/eureka
instance:
prefer-ip-address: true
Configurar un centro de configuración
Para consultar código de ejemplo del centro de configuración, revise la documentación del SDK de Java de Nacos.
Solucionar problemas en registros de Nacos
Si surge algún problema al usar un registro de Nacos de MSE, revise los registros del cliente de Nacos en el archivo naming.log ubicado en el siguiente directorio:
${user.home}/logs/nacos/naming.log