Korzystanie z usługi DNS do płynnego przełączania usług sieciowych

Załóżmy, że domena usługi to example.domain, a oryginalny adres IP serwera to A. Ze względu na migrację serwera lub zmianę adresu IP, nowy adres IP serwera to B. Aby zapewnić niewidoczne dla użytkownika przejście, możemy wykorzystać usługę DNS do płynnego przełączania usług sieciowych.

  1. Oryginalny stan usługi: example.domain rozwiązuje się do adresu IP A
  2. Stan przejściowy: example.domain rozwiązuje się do adresów IP A i B
  3. Nowy stan usługi: example.domain rozwiązuje się do adresu IP B, usunięcie adresu IP A

Uwaga: Gdy użytkownik otrzyma dwa adresy rozwiązań, klient wybierze jeden z adresów do połączenia, a w przypadku niepowodzenia połączenia spróbuje innych adresów, co zapewnia dostępność usługi.

Ze względu na to, że rozwiązywanie DNS ma pamięć podręczną, aby zapewnić płynne przełączanie, należy utrzymać stan przejściowy przez pewien czas, aby upewnić się, że wszystkie pamięci podręczne wygasną.

W moim przypadku muszę przeprowadzić migrację usługi dns, więc w stanie przejściowym mogę ustawić “przepisanie DNS”, aby przyspieszyć proces migracji.

Reguła przepisania usługi A:

Reguła przepisania usługi A

Reguła przepisania usługi B:

Reguła przepisania usługi B

Rozszerzony oryginalny proces migracji:

  1. Oryginalny stan usługi: example.domain rozwiązuje się do adresu IP A
  2. Stan przejściowy: example.domain jest przepisywane do A i B w usłudze dns A, a w usłudze dns B jest przepisywane do B
  3. Nowy stan usługi: example.domain rozwiązuje się do adresu IP B, usunięcie adresu IP A

Gdy użytkownik nadal korzysta z usługi dns A, może uzyskać dwa adresy, z połową prawdopodobieństwa wybierze usługę dns A.
Druga połowa prawdopodobieństwa przełączy się na usługę dns B. Gdy usługa dns B ulegnie awarii, przełączy się z powrotem na dns A. Gdy usługa dns B nie ulegnie awarii, uzyska tylko jeden adres, więc użytkownik pozostanie w usłudze dns B.
W ten sposób możemy stopniowo zmniejszać zużycie zasobów usługi dns A zamiast bezpośrednio ją zatrzymywać, realizując bardziej płynną migrację.