Проблемы с задержкой и временем загрузки при доставке контента в Китай и Сингапур

Предыстория. Просто я использую веб-сайт PHP/MySQL и пытаюсь решить проблемы с задержкой и медленной загрузкой в ​​Китае. Я установил экземпляр веб-сервера (EC2) в Вирджинии и Сингапуре и RDS в Вирджинии, который реплицируется в Сингапур. Поскольку реплики AWS RDS не могут быть записаны, в настоящее время EC2 в Сингапуре выполняет запись в RDS в Вирджинии.

Кроме того, я реализовал правило задержки с помощью Route 53, которое определяет, в какой EC2 должен быть доставлен клиент.

Вот схема моей установки, если она поможет.

Проблема. Приведенное выше решение уменьшает задержку и время загрузки при чтении из базы данных, но при записи в базу данных (из Сингапура) сайт немного замедляется, потому что, конечно, он пишет в БД в Вирджинии.

Я предполагаю, что мне нужна главная БД в Азии и Вирджинии, но я не знаю, как синхронизировать эти две главные базы данных.


person TylersSN    schedule 26.05.2015    source источник
comment
Честно говоря, проблема задержки, связанная с расстоянием и поставщиками услуг, которые между клиентом и сервером... ВАШ КЛИЕНТ МОЖЕТ БЫТЬ ОК, ВАШ СЕРВИС МОЖЕТ БЫТЬ ОК, но между ними могут возникнуть проблемы   -  person user1844933    schedule 26.05.2015
comment
@ user1844933 Спасибо за ваш ответ. Я понимаю, что моя проблема связана с расстоянием между серверами Сингапура и Вирджинии. Я надеюсь, что вы можете предложить мне некоторое представление о том, как я могу решить эту проблему. Кажется, мне может понадобиться установка БД с двумя мастерами, но я не смог найти никакой документации, полезной для AWS.   -  person TylersSN    schedule 26.05.2015
comment
друг, мы ничего не можем сделать для проблемы с задержкой, если не сменить поставщика услуг на местного.....   -  person user1844933    schedule 26.05.2015


Ответы (1)


RDS не поддерживает мультимастер, вы можете настроить свои собственные экземпляры для этого, но это не без проблем. Мне кажется, что вы идете по пути усложнения своей инфраструктуры, не анализируя все возможные решения для уменьшения задержки.

Китай — это немного уникальный случай. Если вы серьезно относитесь к ведению бизнеса в Китае, вам действительно нужен хостинг непосредственно в стране. Фильтрация и другие ограничения могут затруднить ведение бизнеса за пределами страны. В этом случае вы, вероятно, будете управлять магазином в Китае отдельно от другого вашего магазина.

Прежде чем инвестировать в установку с несколькими центрами обработки данных, я бы удостоверился, что все другие легко висящие плоды позаботятся с точки зрения задержки.

  1. Убедитесь, что время отклика веб-приложения как можно меньше. Здесь используйте opcache и кеширование, настройте mysql, используйте nginx вместо apache с php-fpm. Новая реликвия отлично подходит для профилирования. Целевая задержка здесь зависит от приложения.
  2. Переместите все статические ресурсы в CDN. Если вы используете AWS, облачный фронт — это то, что вам нужно.
  3. Выберите центр обработки данных с наилучшей средней задержкой для большинства ваших клиентов. Если большинство ваших клиентов находятся в Азии и США, центр обработки данных на западе США может быть здесь лучше. (Маршрутизация между городами может быть интересной, не все маршруты проходят наиболее эффективно с географической точки зрения. Это зависит от соглашений между различными интернет-провайдерами)

Если вы сделали все это, и вы все еще хотите пойти по пути с несколькими центрами обработки данных. Вам нужно будет настроить собственную установку Mysql с несколькими мастерами. На этом пути есть подводные камни. Задержка может вызвать проблемы с работой транзакций.

person datasage    schedule 27.05.2015