Nginx как GeoIP Global LoadBalancer и фактическое расстояние от сервера приложений

Мой клиент использует Magento для своего решения для электронной коммерции. Основными странами являются США / ЕС / CN. На данный момент только 1 VM в Италии, обслуживающих весь трафик.

Я хотел бы создать 3 виртуальные машины, по одной для каждой страны, в AWS или Google Cloud, что не важно на данном этапе.

DNS-сервер maine 1.2.3.4 должен указывать на www.mydomain.it, где 1.2.3.4 - это виртуальная машина nginx (в центре обработки данных в Европе), настроенная с помощью модуля MaxMind GeoIP.

этот веб-сайт имеет несколько языков и несколько каталогов / цен / кол-во для каждой страны, и с помощью nginx я могу передать необходимые заголовки и переменные в Magento, чтобы cms знал, какой язык показывать клиентам из разных стран.

Мой вопрос: когда трафик достигнет nginx vm, и он будет proxy_pass, например, на сервер США, будет ли сервер США фактически обслуживать трафик США, или трафик США будет всегда проходить через виртуальную машину nginx, поэтому он будет отставать и замедляться?

Моя цель - просто перенаправить трафик на виртуальную машину в зависимости от страны посетителя, поэтому эта виртуальная машина будет обслуживать трафик, а не виртуальную машину nginx.

1 ответ

Решение

Если вы прочтете первый ответ на этот вопрос https://stackoverflow.com/questions/25678049/how-to-setup-global-load-balancing-using-digital-ocean-dns-and-nginx вы увидите несколько способов достигните этого, 30x Redirect, Anycast (используя преимущества маршрутизации BGP) и Geo-DNS. Route53 (упомянутый @frederico-sierra) недостаточно сам по себе, вам придется добавить CloudFront.

Другие вопросы по тегам