У вас есть несколько решений.
На чистом уровне DNS вы можете публиковать свои записи с низким TTL (скажем, 5 минут), и ваши системы мониторинга изменят содержимое зоны, удалив мертвую запись при обнаружении. Это не обеспечивает немедленного переключения при отказе, но часто может быть достаточно хорошим. Это не касается слишком сложных систем. Кроме того, некоторые DNS-серверы допускают некоторую «запрограммированную часть» с динамическим бэкэндом, который может вычислять записи на основе некоторых внешних параметров, например выполнять проверки в реальном времени и отвечать только с оперативными записями.
Anycast - это действительно другое решение, которое больше не имеет отношения к DNS (хотя сам DNS может быть «любым», но тогда он должен решать его возможные потребности в аварийном переключении, а не потребности вашего приложения). Обычно ваши многочисленные системы в разных частях света рекламируются с одним и тем же IP-адресом. Итак, в DNS есть только одна запись.
Благодаря «магии» BGP каждый экземпляр, объявляющий данный IP-адрес, будет собирать весь ближайший трафик, так что фактически вы получаете балансировку нагрузки бесплатно. И вам нужен специальный инструмент, чтобы, как только какой-то локальный экземпляр мертв (или, например, в режиме обслуживания), вы перестали объявлять его IP-адрес, чтобы все другие сети в мире, опять же из-за BGP, узнали, что чтобы достичь "чего-то" за этим IP, им нужно перейти в другое место, к другому вашему экземпляру, объявляющему этот IP.
Это гораздо сложнее настроить, поскольку вам нужна проверенная настройка BGP (а ошибки в BGP могут иметь даже более серьезные последствия, чем в DNS), а также несколько экземпляров, расположенных в разных центрах обработки данных, и, возможно, несколько номеров AS, в зависимости от того, как вы хотите сделай свой anycast. Для этого явно нужен опытный профессионал в маршрутизации BGP, где первое решение только с DNS (в первом случае просто изменение статического файла зоны) доступно любому энтузиасту-любителю.
Так что ответ также немного зависит от сетевого расположения ваших балансировщиков нагрузки.
13.03.2018