С помощью Amazon Route53 DNS
, можно ли создать высокодоступную настройку, указывающую на несколько веб-серверов не на Amazon? Мне не нужно беспокоиться о липкости сеанса.
Предположим, у меня есть два веб-сервера:
web1 - 50.23.45.100
web2 - 50.23.45.101
Если я создам два A
записи для mydomain.com.
указывает на 50.23.45.100
и 50.23.45.101
с TTL
по 1 минуте каждый, это сработает?
Как отправляются запросы, когда оба веб-сервера работают? Равномерно? Только для web1
?
когда web2
падает, могу ли я иметь автоматический скрипт, который удаляет A
запись для 50.23.45.101
? Потом, когда web2
возвращается, просто воссоздайте A
запись?
Спасибо.
Итак, это простой круговой прием.
В обычном сценарии все ваши запросы будут отправляться циклически. Когда оба веб-сервера включены, один клиент получит первый IP-адрес, а следующий клиент получит второй IP-адрес.
Есть несколько поставщиков DNS, которые предоставляют услугу взвешенной балансировки нагрузки в DNS, но в основном это платные услуги.
Настройка, которую вы ищете, пригодна для использования, но тогда будет простой около одной минуты, когда любой из ваших серверов выйдет из строя. Готовы ли вы к этому?
Если да, то это возможно, и вы можете это сделать. Хотя я рекомендую установить TTL меньше этого, где-то около 30 секунд (в идеальных сценариях это должно быть 0 секунд), чтобы сократить время простоя.
Хотя для лучшей настройки я предлагаю вам запустить небольшой экземпляр и запустить какой-то кеширующий сервер поверх него, что-то вроде Varnish или nginx, что значительно повысит производительность вашего веб-сайта и, кроме того, предоставит вам возможность балансировки нагрузки с нулевым временем простоя.