Фон — Просто я беру сайт PHP / MySQL и пытаюсь решить проблемы с задержкой и медленной загрузкой в Китае. Я установил экземпляр веб-сервера (EC2) в Вирджинии и Сингапуре и RDS в Вирджинии, который копирует в Сингапур. Поскольку реплики AWS RDS не могут быть записаны, на данный момент сингапурская EC2 пишет в Virginia RDS.
Кроме того, я реализовал правило задержки, используя маршрут 53, который определяет, в какой EC2 должен быть доставлен клиент.
Вот схема моей установки, если это помогает.
Проблема — Приведенное выше решение уменьшает время ожидания и время загрузки при чтении из базы данных, но при записи в базу данных (из Сингапура) сайт немного замедляется, потому что, конечно, он выполняет запись в БД в Вирджинии.
Я предполагаю, что мне нужен мастер базы данных в Азии и в Вирджинии, но я не знаю, как синхронизировать двух мастеров.
RDS не поддерживает multi master, вы можете настроить свои собственные экземпляры для этого, но это не без проблем. Мне кажется, что вы идете по пути создания сложной инфраструктуры, не анализируя все возможные решения для увеличения задержки.
Китай — это немного уникальный случай. Если вы серьезно относитесь к ведению бизнеса в Китае, вам действительно нужно принимать непосредственно в стране. Фильтрация и другие ограничения могут затруднить ведение бизнеса за пределами страны. В этом случае вы, вероятно, управляете китайским магазином отдельно от вашего другого магазина.
Прежде чем инвестировать в установку с несколькими центрами обработки данных, я бы позаботился о всех других низко висящих фруктах с точки зрения задержки.
Если вы сделали все это, и вы все еще хотите пойти по пути нескольких центров обработки данных. Вам нужно будет установить собственную многопользовательскую установку Mysql. Этот маршрут имеет возможные подводные камни. Задержка может представлять проблемы с работой транзакций.
Других решений пока нет …