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

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

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

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

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

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

0

Решение

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

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

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

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

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]