На чем писать клиент-сервер с 10 000+ онлайном и 36 000 000 запросов в час?

Всем привет!
Разрабатывается проект под мобайл на phonegap ( android, ios, wp8 )
В приложении сервис, который работает foreground. При этом выполняется большое количество запросов к серверу.
Запросы select, update, insert.
Так как сервис люди оставляют на ночь и не выключают днем, то возникает достаточно большая нагрузка на сервер.
Запросы с приложения отправляются через AJAX а на сервере стоит Apache2 и mysql.
Формат обмена данными - json.

Какое будет найболее легкое и быстрое решение? Может лучше делать постоянный коннект через websockets & Node? Или там nginx + php-fpm?
  • Вопрос задан
  • 1609 просмотров
Решения вопроса 2
romy4
@romy4
Exception handler
сперва достигни ©
апач такие нагрузки выдерживает если чо. а ещё можно и нужно балансер прикрепить, но потом.
это вопрос в пустоту. ни инфы про то _сколько_ инфы должно передавать ни с каким интервалом и т.д.
ящетаю делайте как-нибудь, а потом уже будете менять и модифицировать
Ответ написан
ruFelix
@ruFelix
Предсказание будущего по руке, таро, кофе.
Выше писали про проблему 10к, не заморачивайтесь эта проблема была озвучена 10 лет назад, когда интернет, софт и железо были сильно другими.

Мне кажется вы не в ту сторону смотрите. Вам намного проще научиться раскидывать нагрузку по 2-3-4... серверам, с тем, что есть. Это даст вам в итоге, переваривание любого трафика, только подкидывай денег на сервера.

А уже потом вы можете оптимизировать стоимость владения этими серверами переписывая софт, меня базы и фронт энды. Так как переделывание/переписывание вам скорее всего поднимет производительность максимум в 2-3 раза, если у вас всё плохо в 10, а потом окажется что этот 10 кратный рост может отрабатывать только на 10 GB интернет каналах и ssd дисках на которые нет денег или они деньги есть но производительности одной железки не хватит уже через полгода.

маштабируйтесь
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@abcyu
Разработчик
"На чем" - не правильный вопрос.
Ничего страшного для используемых вами технологий в такой нагрузке нет.
PHP и Facebook использует. MySQL и mail.ru использует.

Нужно правильно архитектуру спланировать.
Очень здорово снижает нагрузку правильное использование кэширования в оперативной памяти
habrahabr.ru/search/?q=Tarantool
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
10k rps не хило. 1 сервер этого в продакшне не выдержит. Есть даже известная проблема 10к подключений.
Основная задача при проектировании подобной системы - синхронизация и распределение нагрузки.
Легкое и быстрое - это не те слова, что тут применимы)) надежное и производительное - ближе к телу.
Websockets не сжимаются, могут быть проблемы по трафику.

В общем. На ваш вопрос невозможно ответить без детального брифа (тз я так понимаю надо еще составлять).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
13 дек. 2019, в 03:35
1000 руб./за проект
13 дек. 2019, в 01:31
1000 руб./за проект