Это вопрос из двух частей. Итак, у меня есть DigitalOcean Droplet в Торонто со стеком ламп (конечно, с веб-сайтом). Я хочу создать снимок этой капли и развернуть клон, возможно, в Сан-Франциско и Амстердаме.
Как мне выполнить маршрутизацию на сервер с наименьшей задержкой в зависимости от местоположения?
Как мне клонировать эти сайты в реальном времени. Например, если я редактирую веб-сайт, изменение отражается на всех серверах?
Спасибо
Ты можешь использовать Маршрутизация на основе задержки AWS Route 53. Я почти уверен, что вы можете использовать R53 с источниками, не относящимися к AWS.
В качестве альтернативы CloudFlare имеет менеджер по трафику который умеет делать "геоуправление". Возможно, он все еще находится в стадии бета-тестирования, и я не знаю, платный он или бесплатный.
Обновить Я только что заметил твой второй вопрос. Я предполагаю, что ваша цель - это в первую очередь время загрузки страницы, а второстепенная задача - доступность сервиса. Далее я предполагаю, что веб-сайт - это Wordpress, потому что сделать то, что я предлагаю ниже, со стандартным программным обеспечением сложнее, чем написанное на заказ.
Если вы хотите, чтобы два сайта обслуживали трафик одновременно, синхронно, вам нужно подумать о какой-то репликации базы данных с несколькими мастерами. Это не так просто, но есть способы сделать это. Digital Ocean имеет учебник здесь. RSync или BitTorrent синхронизация будет иметь дело с репликацией файлов.
Если ваша единственная цель - быстрое время отклика, вам может быть не хуже, если вы используете один сервер с CDN, чтобы гарантировать, что ваши статические ресурсы обслуживаются локально - CloudFlare подходит для этого. Ваша задержка для одного запроса страницы, вероятно, не так значительна, около 100 мс дополнительно, другие ресурсы будут обслуживаться с ближайшего узла.
Если вашей единственной целью является резервирование на случай сбоя, вы все равно можете рассмотреть для базы данных сценарий типа реплики мастер / чтение. Маршрутизируйте весь трафик на один сервер, при этом база данных и файлы реплицируются в реальном времени на второй сайт. Если основной сайт выходит из строя, вы переходите на второй сайт. Если это произойдет, вам нужно решить, что делать, когда основной сайт снова подключится к сети, и как восстановить синхронизацию. В этом случае проще всего синхронизировать работу с несколькими мастерами.
К сожалению, то, что вы пытаетесь сделать, не совсем тривиально и может быть от умеренного до исключительно сложного в зависимости от ваших сценариев использования. Нам действительно нужно понимать ваши цели, чтобы предлагать лучшие решения.
Тим дал хорошие ответы на ваш первый вопрос.
Во втором (к сожалению) нет, это относится к проблемам "инвалидации кеша". Есть несколько решений: