Мой веб-сайт (социальная сеть) был построен с использованием django, cassandra && memcache, rabbitmq, mysql
он использовал rabbitmq для обслуживания запросов POST (часто это пользовательское содержимое), чтобы сбалансировать нагрузку mysql. И memcache && cassandra для обслуживания запросов GET (часто пользователь получает контент, но не может использовать cdn, контент часто меняется).
проблема в том, что мой веб-сайт работает очень быстро, когда люди заходят из США, могут вернуться в течение 0,5 секунды. еще быстрее. Но у людей из других стран, например из Азии, бывают плохие времена, задержка от их локальной сети до моего сервера может быть в диапазоне 400-1000 мс (проверено с помощью ping).
В последнее время стало даже хуже, есть ли способ ускорить мой сайт? Я придумал следующее решение, которое, похоже, работает:
A: простое решение: использовать nginx в качестве обратного прокси, покупать серверы в Азии, Африке и т. Д., Но из-за большой задержки из этой страны в США это вообще не ускоряет работу веб-сайта.
B: покупайте серверы в Азии, Африке и т. Д., Но вместо того, чтобы строить обратный прокси. Просто запустите еще один экземпляр моего веб-сайта, установите mysql, memcache, cassandra и т. Д., Переместите пользователей на ближайший сервер, а затем синхронизируйте данные каждые 10 минут. Но я предполагаю, что это увеличит сложность всей системы. Так как моего сайта уже мало
Итак, я пришел сюда и прошу любых предложений. Большое спасибо за дальнейшую помощь!
Это довольно обширная тема, и она зависит от вашего бюджета. Akamai и многие другие CDN могут делать в наши дни многое, чего они не могли делать в прошлом, и, возможно, стоит потратить время на изучение их продуктовых предложений. Limelight Networks - еще один вариант.