Se suas aplicações estão implantadas em ambiente de produção e funcionam conforme o esperado, você pode migrá-las para o Serverless App Engine (SAE) para garantir a continuidade dos negócios e evitar perda de dados.
Por que migrar para o SAE?
O SAE reduz a sobrecarga de infraestrutura para que sua equipe possa se concentrar no desenvolvimento de aplicações. Após a migração, você obtém:
Controles flexíveis de implantação: configuração de parâmetros de inicialização, processo de implantação visual, liberação e encerramento controlados, além de liberação em fases.
Após o lançamento comercial, descoberta de serviços integrada e gerenciamento de configuração, substituindo middlewares autogerenciados como Eureka, ZooKeeper e Consul.
Governança centralizada de serviços: consulte detalhes de serviços publicados e consumidos diretamente pelo SAE console.
Dimensionamento automático: dimensione instâncias de forma dinâmica com base nas flutuações de tráfego.
Monitoramento avançado: visualize métricas de instâncias, rastreamento de microsserviços, topologia de chamadas do sistema e consultas SQL lentas.
Limitação e degradação: mantenha a alta disponibilidade de aplicações Spring Cloud sob carga.
Liberação canário de ponta a ponta: disponibilize novas versões para um subconjunto de aplicações Spring Cloud antes de uma liberação completa.
O que é migração suave?
A migração suave permite mover um cluster Spring Cloud em produção para o SAE sem tirar o sistema do ar. Se você deseja migrar o cluster para o SAE e acessar todos os recursos do SAE, use o método de migração suave para garantir a continuidade dos negócios.
Se o seu cluster Spring Cloud não está em ambiente de produção ou se a indisponibilidade durante a migração é aceitável, compile e implante as aplicações diretamente no SAE. Consulte:
Aplicações Spring Cloud: Use Spring Cloud to develop microservice applications and deploy them on SAE
Aplicações Dubbo: Host Dubbo applications to SAE
Processo de migração
-
Migrar as aplicações
Comece pelas próprias aplicações — a maioria é sem estado e deve ser migrada primeiro.
-
Optional: Migrar a instância do Server Load Balancer (SLB) ou atualize as configurações de nome de domínio
Após migrar as aplicações, atualize a vinculação da instância SLB ou as configurações de nome de domínio para direcionar o tráfego ao novo ambiente.
-
Instância SLB
Se uma instância SLB estava em uso antes da migração, você pode reutilizá-la após a migração. Escolha um método de vinculação conforme suas necessidades. Para mais informações, consulte Bind a CLB instance for public or private access.
Se nenhuma instância SLB estava em uso antes da migração, crie uma e vincule-a à aplicação de entrada (como um API gateway) após a migração.
Durante a migração, ative o registro e a assinatura duplos para reduzir custos do Elastic Compute Service (ECS). Se não for possível reutilizar uma instância ECS existente (por exemplo, porque a porta original está ocupada), use a solução de migração por divisão de tráfego e adicione novas instâncias ECS. Após a migração, reutilize a instância SLB existente ou crie uma nova e vincule-a à aplicação migrada.
-
Nome de domínio
Se a instância SLB for reutilizada, nenhuma alteração de nome de domínio será necessária.
Se uma nova instância SLB for criada, adicione-a às configurações de nome de domínio e remova a antiga. Para mais informações, consulte Modify DNS servers.
-
-
Optional: Migrar armazenamento e filas de mensagens
Se sua aplicação está implantada na Alibaba Cloud e utiliza serviços como ApsaraDB RDS e Message Queue, não é necessário migrar armazenamento nem filas de mensagens.
Se sua aplicação não está na Alibaba Cloud, entre no grupo DingTalk (ID: 32874633) para obter suporte técnico.
Soluções de migração
O SAE oferece duas soluções de migração: divisão de tráfego e registro e assinatura duplos. Ambas mantêm as aplicações em funcionamento durante todo o processo de migração.
-
Divisão de tráfego
Altere o registro de serviços original para o SAE Config Server usando Dubbo, desenvolva um novo conjunto de aplicações e implante-as no SAE. Em seguida, utilize SLB e nomes de domínio para redirecionar o tráfego.
Para as etapas de desenvolvimento de aplicações com a solução de divisão de tráfego, consulte Microservice scenarios.
-
Registro e assinatura duplos
Com o registro e a assinatura duplos, as aplicações se registram e assinam simultaneamente o registro de serviços original e o registro de serviços do SAE. Isso permite que aplicações migradas e não migradas se descubram e se comuniquem mutuamente durante toda a janela de migração.
A figura a seguir mostra a arquitetura da solução de migração com registro e assinatura duplos.
Principais benefícios do registro e da assinatura duplos:
Aplicações migradas e não migradas podem se descobrir e se comunicar, mantendo a continuidade dos negócios.
Basta adicionar uma pequena dependência e fazer alterações mínimas de código.
Visualize detalhes das chamadas de serviços do consumidor e acompanhe o progresso da migração em tempo real.
Ajuste as políticas de registro e assinatura de serviços de forma dinâmica, sem reinicializações repetidas da aplicação. Uma única reinicialização é suficiente durante toda a migração.
Referências
Para guias de migração específicos para diferentes arquiteturas de microsserviços, consulte: