Я хотел бы развернуть веб-сервис с очень низкой сетевой задержкой (под управлением Linux).
Я думал о распределении некоторых экземпляров между несколькими выделенными серверами (в конечном итоге виртуальными машинами, но не предпочтительным решением) по всему миру. Например. один в Европе, один в Азии, один в Южной Америке и один в Северной Америке. Получить выделенный сервер в каждой зоне легко и доступно.
У меня вопрос по геолокации. Поскольку идея состоит в том, чтобы убедиться, что каждый клиент запрашивает ближайший экземпляр, мне нужно настроить некоторую конфигурацию на уровне сети. Я видел поставщиков, предлагающих DNS Anycast, но они, похоже, предлагают простое зеркалирование DNS через opendns. Не то, что мне нужно.
Возникают вопросы:
Я слышал о Anycast, но, как клиент выделенного сервера, смогу ли я правильно настроить что-либо (поскольку anycast касается OSPF, BGP и DNS, и я думаю, что у меня больше нет доступа к чему-либо, например, к маршрутизаторам)? Если да, порекомендуете ли вы какие-либо веб-указатели на подходящий HOWTO? я нашел http://blog.patrickmeenan.com/2011/10/anycast-and-what-it-means-for-web.html, и это выглядит довольно просто (возможно, слишком просто!).
Позволяет ли мне выполнять эту работу решение "только DNSses"? Будет ли это столь же эффективным решением для любых приложений? Есть указатель на HOWTO?
Спасибо !
Вам нужен GeoDNS.
GeoDNS допускает разные ответы (IP-адреса) в зависимости от географической информации.
Есть много поставщиков DNS, которые предоставляют этот тип услуг.
Затем вы должны сопоставить географические местоположения с конкретными серверами, которые вы развертываете.
С точки зрения anycast, это протокол маршрутизации, допускающий ассоциацию «один ко многим». Пакеты могут быть отправлены любому члену группы целей. В протоколе нет ничего, что говорило бы, что эти цели должны быть ближе в географическом смысле. Как протокол, он не зависит от географического положения.