Задать вопрос
jams
@jams
Веб-разработчик | PHP | WP | JS

Какой стек выбрать для бэкэнда?

Здравствуйте.

Планирую разработку веб-проекта, в котором будет функционал по типу как в Reddit, Quora - то есть общение пользователей, профили, подписки, рассылки и т.д. Предполагаемая посещаемость в сутки от 50к., но в будущем планируется масштабирование проекта и посещаемость уже может быть и 100к и 200к. Начинаем с веб-приложения, далее планируется доработка мобильных приложений, в связи с чем нужно иметь возможность удобно дописать API под мобайл.

Понимаю, что такой проект можно реализовать на любом языке/фреймворке. Но я хорошо знаю PHP и Laravel, хуже знаю (но готов подтянуть) Node JS, не знаю, что интересно было бы попробовать Django.

Вопрос к знающим, какой фреймворк выбрать (Laravel, Express либо Koa, Django) и почему.

Важна производительность, поэтому и стал вопрос о переходе от PHP/Laravel. И может, кроме Laravel, Express либо Koa, Django кто-то аргументировано посоветует что-то еще (возможно, Golang). Спасибо!
  • Вопрос задан
  • 481 просмотр
Подписаться 1 Простой 3 комментария
Решения вопроса 2
@dimuska139
Backend developer
Важна производительность, поэтому и стал вопрос о переходе от PHP/Laravel

Тут вообще нет связи. Узким горлышком в таких проектах является не язык, на котором приложение написано, а база данных. Если медленно выполняются запросы, то хоть на ассемблере бэкенд напиши - быстрее сервер отвечать не будет. Ну может пару миллисекунд выиграете, но на фоне времени выполнения запроса в БД и сетевых издержек это смешные цифры - даже не заметите разницу. А если речь идёт о Django, то это вообще не про производительность, потому что этот фреймворк довольно тяжёлый сам по себе, да и Python - это далеко не самый производительный язык даже среди скриптовых.

Если речь идёт про большие нагрузки, то тоже язык тут не особо при делах, потому что обеспечиваются они масштабированием, кешированием и оптимизацией запросов к БД. Язык приложения тут вообще не при чём - разве что памяти какой-то больше жрёт, какой-то меньше. 200к в сутки - это в среднем всего лишь 2-3 запроса в секунду - то есть вообще ни о чём. Понятно, что распределение посещаемости вряд ли непрерывное равномерное, но тем не менее 200к даже если за один час - это всего лишь 140 запросов в секунду. С такой нагрузкой справится любой современный язык и фреймворк даже без масштабирования, кстати.
Ответ написан
Stalker_RED
@Stalker_RED
На каждом из перечисленных стеков существуют гораздо более нагруженные проекты, чем 200к хитов.

Выбирайте или то что вам уже знакомо, или то, что хотите изучить (если ваш заказчик готов оплачивать ваше саморазвитие).

При масштабировании упор будет в хранение данных (БД) и взаимодействие сервисов. А на чем написаны сами сервисы не так важно, хоть все на разных языках.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Началось в колхозе утро.
Очередной юный мечтатель ковыряет в носу и рассуждает, из чего бы сделать лопату, которой грести денежки.
При том что из активов у него только то, что из носа и наковырял.

Нагрузок у него нет, веб-проекта, в котором будет функционал по типу как в Reddit - нет, пользователей нет, рассылок нет, нагрузки даже в 10 пользователей в сутки нет. Как и объяснения, почему пользователи вдруг повалят именно на этот проект.
Но зато мы уже стррррашно озабочены проблемами с производительностью.
Поэтому мы убьём в 10 раз больше времени, поднимая на каком-нибудь экзотическом языке прототип, чтобы убедиться что этот проект таки никому не нужен.
Ответ написан
@Kirill-Gorelov
С ума с IT
Да чем же тебя бедный php не устроил с ларавелем(((
Тебе даже до 10К в сутки расти и расти еще.
Справиться php с такими нагрузками. И не с такими нагрузками справляется php. Многое от сервера зависит, от архитектуры....

Если у тебя ужасная архитекутра тебе ни python не поможет, ни java.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы