Ao implantar uma aplicação Spring Cloud ou Dubbo desenvolvida localmente no Serverless App Engine (SAE), você tem a opção de utilizar o registro de serviço integrado do SAE ou um registro hospedado pelo Microservices Engine (MSE). Este tópico descreve como configurar o registro e a descoberta de serviços baseados em Nacos para uma aplicação no console do SAE.
Pré-requisitos
Uma virtual private cloud (VPC) deve estar criada e disponível. Para mais informações, consulte Criar e gerenciar uma virtual private cloud.
Antes de executar a aplicação, adicione a porta de acesso do registro de serviço Nacos (por exemplo, 8848) a um grupo de segurança. Para mais detalhes, veja Adicionar uma regra de grupo de segurança.
É necessário ter criado um mecanismo MSE Nacos e um namespace para a instância.
Recomendações
Caso possua um grande volume de aplicações de microsserviços, utilize um dos tipos de registro de serviço listados abaixo, organizados em ordem decrescente de recomendação:
Registro MSE Nacos
Registro de serviço autogerenciado
Registro de serviço integrado do SAE
Para saber mais, consulte MSE Nacos e Nacos open-source.
Limitações
Para obter detalhes sobre as restrições de uso do mecanismo MSE Nacos, acesse Uso de SDKs do MSE Nacos e versões restritas de SDKs do Nacos.
Pontos de entrada
O ponto de entrada varia conforme o cenário.
Crie aplicação
Faça login no console do SAE. No painel de navegação à esquerda, escolha Applications > Applications. Selecione a região e o namespace desejados e clique em Create Application.
Após definir os parâmetros na página Basic Information, clique em Next: Advanced Settings.
Modifique aplicação em execução
A reimplementação de uma aplicação causa seu reinício. Para evitar erros imprevisíveis, como interrupções de negócios, recomendamos implantar as aplicações fora dos horários de pico.
Acesse o console do SAE. No painel de navegação à esquerda, selecione Applications > Applications. Escolha a região e o namespace correspondentes e clique no nome da aplicação alvo.
Na página Basic Information da aplicação, clique em Deploy Application.
Modifique aplicação parada
Entre no console do SAE. No menu lateral esquerdo, navegue até Applications > Applications. Defina a região e o namespace e clique no nome da aplicação desejada.
Dentro da página Basic Information da aplicação, clique em Modify Application Configuration.
Configure registro e descoberta de serviços
Localize e expanda a seção Service Registration and Discovery. Defina Nacos-based Registry Service and Discovery como MSE Nacos Professional Edition e selecione sua MSE Nacos Instance juntamente com o Namespace correspondente.
Verifique os resultados
Para validar a implantação, acesse a página Basic Information da aplicação e clique na aba Instances. Na coluna Actions da lista de instâncias, clique em Webshell e execute os comandos de verificação na janela do Webshell. Consulte Usar o Webshell para diagnosticar aplicações para mais informações.
Confirme se o serviço foi registrado com êxito.
curl -X GET 'http://192.168.XX.XX:8848/nacos/v1/ns/instance/list?serviceName=service-provider'
service-provider: nome do serviço.192.168.XX.XX:8848: endereço IP e porta do host onde o Nacos está em execução. Substitua192.168.XX.XXpelo endpoint interno do seu mecanismo MSE Nacos. Para obter esse endereço, faça login no console do MSE, clique na instância desejada na página Instances e localize o endpoint na página Basic Information da instância.
A saída abaixo indica que o serviço foi registrado corretamente:
[/home/admin]$ curl -X GET 'http://mse-xxx-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance/list?serviceName=service-provider'
{"name":"DEFAULT_GROUP@@service-provider","groupName":"DEFAULT_GROUP","clusters":"","cacheMillis":10000,"hosts":[],"lastRefTime":1679984302840,"checksum":"","allIPs":false,"reachProtectionThreshold":false,"hitWeightProtection":false,"valid":true,"dom":"service-provider"} [/home/admin]$
Valide o funcionamento do caminho de acesso ponta a ponta da aplicação de microsserviços.
Execute um dos comandos a seguir. O endereço 127.0.0.1:18082 corresponde ao IP e à porta de acesso do host onde as aplicações provedora e consumidora estão rodando.
-
curl http://127.0.0.1:18082/echo-rest/{your-custom-variable} -
curl http://127.0.0.1:18082/echo-feign/{your-custom-variable}
Uma resposta contendo 192.168.0.222:hello confirma que a aplicação consumidora chamou a provedora com sucesso, validando o correto funcionamento do caminho de acesso aos microsserviços.
[/home/admin]$ curl http://127.0.0.1:18082/echo-rest/hello
192.168.0.222:hello
[/home/admin]$