Utilizando serviços DNS para troca suave de serviços de rede
Categories:
Supondo que o domínio do serviço seja example.domain, o IP do servidor original seja A, devido à migração do servidor ou mudança de IP, o IP do novo servidor seja B, para garantir que os usuários não percebam a mudança, o serviço de rede pode ser trocado suavemente através do serviço DNS.
- Estado original do serviço,
example.domainresolve para o endereço IPA - Estado de transição,
example.domainresolve para os endereços IPAeB - Estado novo do serviço,
example.domainresolve para o endereço IPB, removendo o endereço IPA
Observação: Quando os usuários obtêm dois endereços de resolução, o cliente escolhe um dos endereços para conectar, quando a conexão falha, tenta outros endereços, garantindo assim a disponibilidade do serviço.
Como a resolução DNS possui cache, para garantir uma troca suave, é necessário manter o estado de transição por um período de tempo, garantindo que todos os caches expirem.
Preciso migrar o serviço dns aqui, posso definir Reescrita DNS no estado de transição para acelerar o processo de migração.
Regras de reescrita do serviço A:

Regras de reescrita do serviço B:

O processo de migração original se expande para:
- Estado original do serviço,
example.domainresolve para o endereço IPA - Estado de transição,
example.domainé reescrito no serviçodns AparaAeB, e no serviçodns BparaB - Estado novo do serviço,
example.domainresolve para o endereço IPB, removendo o endereço IPA
Quando os usuários ainda estão usando o serviço dns A, podem obter dois endereços, com metade da probabilidade de escolher o serviço dns A.
A outra metade da probabilidade mudará para o serviço dns B, quando o serviço dns B falhar, mudará de volta para dns A. Quando o serviço dns B não falhar, só obterá um endereço, portanto os usuários permanecerão no serviço dns B.
Dessa forma, podemos reduzir gradualmente o consumo de recursos do serviço dns A, em vez de interrompê-lo diretamente, realizando uma migração mais suave.