Utilizzo del servizio DNS per il passaggio fluido dei servizi di rete

Supponiamo che il dominio del servizio sia example.domain, l’indirizzo IP del server originale sia A, a causa del trasferimento del server o della modifica dell’IP, il nuovo indirizzo IP del server sia B, per garantire che l’utente non se ne accorga, è possibile utilizzare il servizio DNS per il passaggio fluido dei servizi di rete.

  1. Stato del servizio originale, example.domain risolve all’indirizzo IP A
  2. Stato di transizione, example.domain risolve all’indirizzo IP A e B
  3. Stato del nuovo servizio, example.domain risolve all’indirizzo IP B, rimuove l’indirizzo IP A

Nota: quando l’utente ottiene due indirizzi di risoluzione, il client ne sceglie uno per la connessione, quando la connessione fallisce, prova altri indirizzi, garantendo così la disponibilità del servizio.

Poiché la risoluzione DNS ha una cache, per garantire un passaggio fluido, è necessario mantenere lo stato di transizione per un certo periodo, per assicurare che tutte le cache siano invalidate.

Qui devo migrare il servizio dns, posso impostare una “Riscrittura DNS” durante lo stato di transizione per accelerare il processo di migrazione.

Regole di riscrittura del servizio A:

Riscrittura del servizio A

Regole di riscrittura del servizio B:

Riscrittura del servizio B

Il processo di migrazione originale si espande in:

  1. Stato del servizio originale, example.domain risolve all’indirizzo IP A
  2. Stato di transizione, example.domain viene riscritto a A e B nel servizio dns A, e a B nel servizio dns B
  3. Stato del nuovo servizio, example.domain risolve all’indirizzo IP B, rimuove l’indirizzo IP A

Quando l’utente sta ancora utilizzando il servizio dns A, può ottenere due indirizzi, c’è una probabilità del 50% di scegliere il servizio dns A.
L’altra metà della probabilità passerà al servizio dns B, il servizio dns B passa di nuovo al servizio dns A quando si verifica un guasto. Quando il servizio dns B non è guasto, si otterrà solo un indirizzo, quindi l’utente rimarrà nel servizio dns B.
In questo modo possiamo ridurre gradualmente il consumo delle risorse del servizio dns A, invece di fermarlo direttamente, realizzando una migrazione più fluida.