Utilizar el servicio DNS para cambiar suavemente el servicio de red
Categories:
Suponiendo que el dominio del servicio es example.domain, la dirección IP del servidor original es A. Debido a la migración del servidor o al cambio de IP, la nueva dirección IP del servidor es B. Para garantizar que el usuario no sea consciente del cambio, se puede utilizar el servicio DNS para cambiar suavemente el servicio de red.
- Estado del servicio original,
example.domainse resuelve a la dirección IPA - Estado de transición,
example.domainse resuelve a las direcciones IPAyB - Estado del nuevo servicio,
example.domainse resuelve a la dirección IPB, eliminando la dirección IPA
Nota: Cuando el usuario obtiene dos direcciones de resolución, el cliente seleccionará una de ellas para la conexión. Si la conexión falla, intentará con otras direcciones, garantizando así la disponibilidad del servicio.
Dado que la resolución DNS tiene caché, para garantizar un cambio suave, es necesario mantener el estado de transición durante un período de tiempo para asegurar que todas las cachés caduquen.
En mi caso, necesito migrar el servicio DNS. Durante el estado de transición, se puede establecer una “reescritura DNS” para acelerar el proceso de migración.
Reglas de reescritura del servicio A:

Reglas de reescritura del servicio B:

El proceso de migración original se expande a:
- Estado del servicio original,
example.domainse resuelve a la dirección IPA - Estado de transición,
example.domainse reescribe aAyBen el servicio DNS A y aBen el servicio DNS B - Estado del nuevo servicio,
example.domainse resuelve a la dirección IPB, eliminando la dirección IPA
Cuando el usuario sigue utilizando el servicio DNS A, puede obtener dos direcciones, con una probabilidad del 50 % de elegir el servicio DNS A.
La otra mitad de la probabilidad cambiará al servicio DNS B. Cuando el servicio DNS B falla, se cambiará de nuevo al servicio DNS A. Cuando el servicio DNS B no falla, solo se obtendrá una dirección, por lo que el usuario permanecerá en el servicio DNS B.
De esta manera, podemos reducir gradualmente el consumo de recursos del servicio DNS A en lugar de detenerlo directamente, logrando una migración más suave.