Проблема с базой данных MySQL, когда международные пользователи обращаются к американскому серверу. Как это обычно обрабатывается? - PullRequest
0 голосов
/ 27 апреля 2011

У меня есть сайт, который подключается к базе данных MySQL, которая находится в облаке с Amazon.Сайт расположен на разных серверах, и какой сервер обслуживает сайт, зависит от местоположения пользователя.Все хорошо, когда БД попадает из США, но когда пользователи в Азии или Европе открывают сайт, он просто зависает, потому что вызов БД занимает слишком много времени.

Как вы можете сказать, я 'Я не очень разбираюсь в "серверных вещах" (я всегда работал с людьми, которые занимаются такими вещами для меня), поэтому мой вопрос прост ... Как это обычно делается?Я не могу себе представить, что обычно есть 3 разных экземпляра БД MySQL, которые синхронизируются друг с другом.Какая типичная архитектура для обработки подобных вещей?

Спасибо.Извините за довольно простой вопрос, но любая помощь будет полезна в обучении веб-парня о том, как все должно быть сделано под капотом.

1 Ответ

2 голосов
/ 27 апреля 2011

На самом деле, наличие нескольких экземпляров MySQL, которые синхронизируются (посмотрите replication), вовсе не является плохим решением.Однако у него есть свои недостатки, поэтому новые сайты ищут разные решения.Например, они пытаются использовать MongoDB или CouchDB вместо MySQL, потому что он легче масштабируется и реплицируется.Кэширование также может очень помочь.Используйте распределенный кеш (пул memcache, кэш Varnish и т. Д.) И убедитесь, что вашим приложениям редко приходится напрямую обращаться к базе данных.

Самое простое: почему вы начинаете распределять пользователей по географически разнородным серверам?с?Разве вы не можете обслуживать международных пользователей с серверов в США?

...