zBit
@zBit
Full stack web developer

Что лучше для организации REST API (с хранилищем MongoDB)? Nodejs или PHP?

На PHP я пишу уже давно, с ним всё ясно, а вот с Nodejs познакомился недавно и он мне понравился.
Меня интересуют аргументированные факты, подводные камни, особенности и т.п. при работе с Nodejs в сравнении с PHP. Так же интересует вопрос производительности Nodejs и инструменты для более удобной разработки (расширения для SublimeText и прочие утилиты).

P.S.: В Nodejs понравилось работать с MongoDB через mongoose. Кода получается меньше (на Restify + Mongoose), чем с любым фреймворком на PHP с которыми я работал (Yii2, Phalcon и ещё несколько).
  • Вопрос задан
  • 4827 просмотров
Пригласить эксперта
Ответы на вопрос 4
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
для RestAPI простенькой норм. По производительности - жрет больше памяти чем PHP но зато быстрее работает и позволяет поднять RPS. Так же неплохой практикой было бы поднятие нескольких инатансов приложения (по одному на ядро и оставить одно ядро про запас) и проксировать запросы через nginx на эти инстансы.

Для монги + RestAPI вполне оправданно. Если брать еще какой фреймворк типа express или чего более специфичное, то проблем особо не должно быть. К сожалению (или к счастью) монгу н продакшене я пробовал лишь однажды, расстроился и забил. На node.js обычно держу демоны для рассылки нотификаций (APNS/GCM/WebSockets).
Ответ написан
Комментировать
akubintsev
@akubintsev
Опытный backend разработчик
Думаю, что поднятие нескольких инстансов принципиальный момент, чтобы тягаться с php, поскольку воркеры php-fpm утилизируют все ядра сервера.
Ещё один момент: если много бизнес-логики или интенсивные вычисления внутри обработки запроса, то php-воркеры также будут предпочтительнее, поскольку в случае node.js будет тормозить весь инстанс.
Ответ написан
Комментировать
Думаю, для работы с Mongo лучше подойдет NodeJS. RESTful API легко поднять с помощью Sails.js. С ним кода будет еще меньше ;) Что касается производительности - с Node.js никогда проблем не было, а вот на PHP в свое время наелся. Сейчас я бы выбрал Node.
Ответ написан
@cybervito21
NodeJS + Mongo + Mongoose, по крайней мере писать в удовольствие!
Ответ написан
Ваш ответ на вопрос

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

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