Использование DNS-сервиса для плавного переключения сетевых служб

Предположим, что доменное имя сервиса - example.domain, исходный IP-адрес сервера - A, из-за миграции сервера или смены IP новый IP-адрес сервера - B. Чтобы обеспечить незаметность для пользователей, можно использовать DNS-сервис для плавного переключения сетевых служб.

  1. Исходное состояние сервиса: example.domain разрешается в IP-адрес A.
  2. Переходное состояние: example.domain разрешается в IP-адреса A и B.
  3. Новое состояние сервиса: example.domain разрешается в IP-адрес B, IP-адрес A удаляется.

Примечание: когда пользователь получает два адреса разрешения, клиент выбирает один из них для подключения, и при неудаче подключения пробует другие адреса, тем самым обеспечивая доступность сервиса.

Поскольку DNS-разрешение имеет кэш, для обеспечения плавного переключения необходимо поддерживать переходное состояние в течение некоторого времени, чтобы гарантировать, что все кэши станут недействительными.

В моём случае необходимо перенести DNS-сервис, можно установить DNS-перезапись в переходном состоянии для ускорения процесса переноса.

Правила перезаписи сервиса A:

Перезапись сервиса A

Правила перезаписи сервиса B:

Перезапись сервиса B

Процесс первоначальной миграции расширяется до:

  1. Исходное состояние сервиса: example.domain разрешается в IP-адрес A.
  2. Переходное состояние: в сервисе DNS A example.domain перезаписывается в A и B, в сервисе DNS B перезаписывается в B.
  3. Новое состояние сервиса: example.domain разрешается в IP-адрес B, IP-адрес A удаляется.

Когда пользователь всё ещё использует сервис DNS A, он может получить два адреса, с вероятностью 50% выберет сервис DNS A.
В другом случае 50% пользователь переключится на сервис DNS B, при сбое сервиса DNS B переключится обратно на DNS A. Если сервис DNS B не сбоя, пользователь получит только один адрес, таким образом останется на сервисе DNS B.
Таким образом мы можем постепенно уменьшать потребление ресурсов сервиса DNS A, а не останавливать его сразу, реализуя более плавную миграцию.