Migre dados de serviço de uma instância Consul autogerenciada para o MSE Nacos sincronizando os serviços com o MSE Sync, substituindo as dependências do SDK do Consul pelo SDK do Nacos e atualizando as configurações da aplicação.
Etapas da migração
|
Etapa |
Descrição |
|
1. Configurar o MSE Sync |
Configure o MSE Sync para sincronizar dados de serviço entre as instâncias Consul de origem e Nacos de destino. |
|
2. Substituir dependências do cliente |
Substitua o SDK do Consul pelo SDK do Nacos nos projetos da aplicação. |
|
3. Atualizar configurações da aplicação |
Aponte as aplicações para a instância do MSE Nacos em vez da instância do Consul. |
|
4. Reempacotar, implantar e verificar |
Recompile as aplicações e confirme se os serviços foram registrados corretamente no MSE Nacos. |
Pré-requisitos
Antes de começar:
Crie um mecanismo do MSE Nacos. Criar um mecanismo Nacos.
Implante e execute o MSE Sync. Solução de migração baseada no MSE Sync.
Etapa 1: Configurar o MSE Sync
Configure o MSE Sync com um arquivo YAML que especifique as instâncias Consul de origem e Nacos de destino.
Criar o arquivo de configuração
Crie um arquivo YAML com o seguinte conteúdo:
clusters:
- clusterName: dst
connectKeyList:
- {nacos.endpoint}:8848
clusterType: NACOS
- clusterName: src
connectKeyList:
- {consul.endpoint}:8500
clusterType: CONSUL
tasks:
- source: src
destination: dst
Substitua os valores de espaço reservado:
|
Espaço reservado |
Substituir por |
Exemplo |
|
|
Endpoint da instância do MSE Nacos |
|
|
|
Endereço IP da instância do Consul |
|
Importar o arquivo de configuração
Inicie o MSE Sync e importe o arquivo de configuração. O MSE Sync examina periodicamente ambas as instâncias e cria automaticamente tarefas de sincronização para novos serviços.
O intervalo padrão de verificação é de 5 segundos. Para alterá-lo, defina consul.refresh.interval.
Verificar a sincronização
No MSE Sync, verifique se todas as tarefas de sincronização foram concluídas e se os dados de serviço do Consul aparecem na instância do Nacos.
Etapa 2: Substituir dependências do cliente
Substitua o SDK do Consul pelo SDK do Nacos nos projetos da aplicação.
Para aplicações Spring Cloud, atualize a dependência Maven conforme abaixo:
|
groupId |
artifactId |
|
|
Antes (Consul) |
|
|
|
Depois (Nacos) |
|
|
Remova a dependência do Consul:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
Adicione a dependência do Nacos:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
Escolha uma versão do spring-cloud-starter-alibaba-nacos-discovery compatível com sua versão do Spring Cloud.
Etapa 3: Atualizar configurações da aplicação
No arquivo de configuração da aplicação, substitua o bloco do Consul pelo endpoint do registro de serviço do Nacos.
Exemplo de configuração (application.yml):
server:
port: 9999
spring:
application:
name: sp-provider
cloud:
nacos:
discovery:
server-addr: mse-xxxxx-nacos-ans.mse.aliyuncs.com:8848
Configuração original do Consul para referência:
# consul:
# host: 11.164.x.x
# port: 8500
# config:
# enabled: false
# discovery:
# health-check-path: /health
Etapa 4: Reempacotar e implantar aplicações
Recompile e implante as aplicações com as dependências e configurações atualizadas.
Etapa 5: Verificar a migração
Após a implantação, realize as seguintes verificações:
Confirme se todas as aplicações iniciaram sem erros.
Teste chamadas entre serviços para validar o funcionamento da descoberta de serviço.
No console do MSE, verifique se todas as aplicações estão registradas na instância do Nacos.
Perguntas frequentes
Os dados de serviço no Consul não são sincronizados com o MSE Nacos
Verifique se o serviço passou na verificação de integridade no Consul. O MSE Sync sincroniza apenas instâncias íntegras.
Referências
A Solução de migração baseada no MSE Sync aborda detalhes adicionais e tipos de instância suportados.