O Microservices Engine (MSE) oferece registros gerenciados do Nacos, ZooKeeper e Eureka para aplicações Spring Cloud e Dubbo. Este tópico descreve os requisitos para criação de instâncias, a configuração de aplicações para cada tipo de registro e as etapas de solução de problemas.
Pré-requisitos
Antes de começar, verifique se você tem:
Uma conta Alibaba Cloud com o MSE ativado
Uma instância do Elastic Compute Service (ECS) em que sua aplicação é executada
As informações de Virtual Private Cloud (VPC) e região da sua instância ECS
Crie uma instância
Ao criar uma instância do MSE, configure os seguintes parâmetros:
|
Parâmetro |
Requisito |
|
Network type: VPC |
Selecione a mesma VPC da instância ECS em que sua aplicação é executada. |
|
Network type: Internet |
Configure uma lista de permissões de endereços IP. Especifique blocos CIDR no formato |
|
Region |
Se selecionar VPC como tipo de rede, escolha a mesma região da instância ECS em que sua aplicação é executada. |
|
Public bandwidth |
Para acessar a instância do MSE pela Internet, defina a largura de banda pública com um valor maior que 0. Um endpoint público só é gerado quando a largura de banda pública é diferente de zero. |
Conectar-se a um registro Nacos
Todos os exemplos de configuração usam o endpoint público da sua instância do MSE como endereço do servidor. Substitua mse-XX-p.nacos-ans.mse.aliyuncs.com pelo seu endpoint real.
Spring Cloud
Adicione a seguinte configuração ao arquivo 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 um namespace personalizado, adicione:
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 um namespace personalizado, atualize o endereço do 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 um namespace personalizado, adicione:
dubbo.registry.parameters.namespace=<your-namespace-id>
Para mais informações sobre o Nacos, consulte Nacos.
Conectar-se a um registro ZooKeeper
Spring Cloud
Adicione a configuração abaixo ao arquivo 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" />
Conectar-se a um registro Eureka
Spring Cloud
Inclua a seguinte configuração no arquivo 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
Configure um centro de configuração
Para obter códigos de exemplo do centro de configuração, consulte a documentação do SDK Java do Nacos.
Solucionar problemas em registros Nacos
Se ocorrer algum problema ao usar um registro Nacos do MSE, verifique os logs do cliente Nacos no arquivo naming.log, localizado no seguinte diretório:
${user.home}/logs/nacos/naming.log