Уважаемое сообщество подскажите пожалуйста по такому вопросу?
Есть приложение, написанное на чистом PHP, база данных MySQL.
Задача: нужно сделать подобие CDN, но не просто статика а все приложение.
Вижу решение, размещение приложения во всех точках присутствия и репликация изменяемых данных, файлы почти не изменяются, в основном база...
Может кто делал что-то подобное, в какую сторону лучше смотреть?
Заранее благодарен за советы, хорошего всем дня...
ДОПОЛНЕНИЕ: нельзя использовать сторонние сервесы, по причине конфиденциальности.
ДОПОЛНЕНИЕ: Приложением пользуются во всем мире (крупная компания, сотрудники которой шляются по всему шарику, хотят взять 62 сервера в разных точках), в одном запросе отдается много данных (порядка 10-50 МБ., стало интересно, попытался открыть страничку на планшете, браузер вылетел с ошибкой), вмешиваться в эту часть приложение не можем.
Хотят добиться, большей скорости загрузки, пытаемся изменить ход мысли, на написание нового, но уперлись как ослы, хотим так и все.
Приложением пользуются во всем мире (крупная компания, сотрудники которой шляются по всему шарику, хотят взять 62 сервера в разных точках), в одном запросе отдается много данных (порядка 10-50 МБ., стало интересно, попытался открыть страничку на планшете, браузер вылетел с ошибкой), вмешиваться в эту часть приложение не можем.
Хотят добиться, большей скорости загрузки, пытаемся изменить ход мысли, на написание нового, но уперлись как ослы, хотим так и все.
Cloudflare можно рассматривать как прокси. Допустим, у вас один сервер, а Cloudflare будет раздавать данные из нескольких сервером поближе к пользователю. Даже, если каждый запрос даёт уникальный ответ и экспаерится сразу же, от Cloudflare может быть смысл.
how: а какой смысл от CloudFlare, если каждый запрос экспайрится сразу же? Просто лишняя задержка, всё равно вся нагрузка идёт на центральный сервер, а к пингам до центрального сервера добавляется ещё и задержка от CloudFlare.
Можно купить самим много серверов в разных странах и на них настроить nginx-прокси.
А можно шифровать данные так, чтобы по пути нельзя было расшифровать - тогда можно пользоваться сторонними сервисами. Кабеля, по которым идёт Интернет не ваш, поэтому всё равно пользуетесь сторонними сервисами :)
Какие задачи надо решить масштабированием?
Есть множество способов построить масштабируемую архитектуру, но "серебрянной пули" не существует. Первое что нагуглил для обзора: ruhighload.com/scale
Гуглю уже неделю, инфы нашел уйму, просто хочется както упорядочить найденую информацию, услышать мнения.
Основная задача снизить скорость загрузки страницы...
Вооот Теперь давайте смотреть откуда растут ноги у задержек. Возможно у вас просто запросы к БД неоптимизированы и индексы отсутствуют. Масштабировать логику для повышения отзывчивости очень дорого по деньгам(надо покупать выделеные каналы, кучу серверов и тд). Какого порядка задржки и какое количество запросов в секунду выдерживает сервис?
Приложением пользуются во всем мире (крупная компания, сотрудники которой шляются по всему шарику, хотят взять 62 сервера в разных точках), в одном запросе отдается много данных (порядка 10-50 МБ., стало интересно, попытался открыть страничку на планшете, браузер вылетел с ошибкой), вмешиваться в эту часть приложение не можем.
Хотят добиться, большей скорости загрузки, пытаемся изменить ход мысли, на написание нового, но уперлись как ослы, хотим так и все.