Utilizando serviços DNS para troca suave de serviços de rede

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.

  1. Estado original do serviço, example.domain resolve para o endereço IP A
  2. Estado de transição, example.domain resolve para os endereços IP A e B
  3. Estado novo do serviço, example.domain resolve para o endereço IP B, removendo o endereço IP A

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:

Reescrita do serviço A

Regras de reescrita do serviço B:

Reescrita do serviço B

O processo de migração original se expande para:

  1. Estado original do serviço, example.domain resolve para o endereço IP A
  2. Estado de transição, example.domain é reescrito no serviço dns A para A e B, e no serviço dns B para B
  3. Estado novo do serviço, example.domain resolve para o endereço IP B, removendo o endereço IP A

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.