Прочитав альтернативные варианты распределения нагрузки и поделившись своими ограниченными навыками в этой области, я склоняюсь к стратегии циклического DNS.
Насколько я понял, одним из ключевых аспектов DNS Round-Robin является установка низкого значения TTL без кеширования.
Меня больше всего беспокоит то, что весь мой трафик идет из мобильных сетей, почти 30% из которых поступает из t-mobile 3G. Некоторые вопросы:
1) Есть ли вероятность, что почти все клиенты в одной мобильной сети будут перенаправлены на один и тот же IP-адрес в кадре TTL? Это убило бы технику распространения.
2) Если я выберу действительно низкий TTL (ноль или один). Это напрямую влияет на производительность клиента? DNS пропускает каждый раз, или это параметр, который влияет только на DNS-серверы?
Любая помощь приветствуется. Спасибо
Я рекомендую вам взглянуть на это вопрос, который может дать вам некоторые идеи о том, как работает циклический перебор DNS, и о его основных недостатках.
Относительно ваших конкретных вопросов:
Это один из основных недостатков циклического перебора DNS, поскольку записи кэшируются не только в самой иерархии DNS, но и в операционных системах, браузерах или других приложениях. Комбинацией всех этих уровней кэша может быть очень сложно управлять.
Я бы сказал, что влияние невелико, но измеримо, но я бы не рекомендовал этого, поскольку это не решает реальной проблемы. Есть вещи, которые следует учитывать: многие преобразователи DNS не соблюдают TTL, определенный в авторитетном DNS, и используют свою собственную политику, и, как сказано выше, есть другие уровни кэширования, которые следует учитывать (ОС, браузер и т. Д.). Вот хорошая пара ответов на аналогичный вопрос.
Если вы рассматриваете циклический перебор DNS для веб-приложений, я бы рекомендовал вам взглянуть на HAProxy, который может реализовать дешевое, но реальное резервирование.
Надеюсь это поможет!
Android по умолчанию кэширует DNS в течение 10 минут. Что нужно учитывать.
Также рассмотрите случай, когда один из IP-адресов в списке записей A не работает.