Я использую выделенный сервер, на котором виртуализируются машины Linux, дата-центр находится в Европе.
Все виртуальные машины представляют собой серверы Linux, одна из которых является интерфейсом Apache, а другая — базой данных Mysql.
Теперь мне нужно зеркалировать этот сервер в США и Азии, чтобы повысить скорость и обеспечить SEO.
Я думал использовать rsync, но хочу понять, какие существуют наилучшие методы, чтобы поддерживать все машины в актуальном состоянии, сохраняя целостность данных.
Как крупные компании решают эту проблему?
Редактировать (сведения о приложении): Приложение представляет собой SaaS-контент, сгенерированный пользователем, поэтому пользователи постоянно изменяют базу данных и файловую систему. Предположим, что это что-то похожее на Google Docs, невозможно кэшировать все и развертывать статические клоны.
решение1
Поскольку вы описываете свое приложение, боюсь, что его будет не очень легко «зеркалить». Особенно, если данные должны изменяться в реальном времени (как это происходит с GDocs).
Боюсь, MySQL не очень хорошая база данных для такого развертывания. Файловая система — еще одна проблема.
Лучшее, что вы могли бы сделать в долгосрочной перспективе, это, вероятно, перепроектировать все это, чтобы использовать лучшие инструменты для работы. И я настоятельно рекомендую вам нанять кого-то, кто имеет опыт работы с таким программным обеспечением, чтобы он проконсультировал вас.
Вы можете использовать CDN. CDN не предназначены для развертывания статического контента везде. Обычно они работают как кэширующий прокси для ваших серверов.
Если запросы вашего приложения слишком сложно кэшировать на уровне HTTP, вы можете написать собственный сервер/механизм кэширования, который понимает внутреннюю работу вашего приложения.