Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Что выбрать для проекта: Node или Apache/nginx (https://javascript.ru/forum/node-js-io-js/69526-chto-vybrat-dlya-proekta-node-ili-apache-nginx.html)

AlexOv 30.06.2017 14:24

Что выбрать для проекта: Node или Apache/nginx
 
Всем привет!
Делаю проект. Фронтенд на Angular 4.
Наступил момент, когда нужно реализовать API на бэкенде.
Читал в сети, что Node - это вроде как альтернатива классическим веб-серверам. Однако, кругом один срач по запросам "Node vs Apache", из которого я, как не владеющий этим инструментом, ничего не понимаю.
Подскажите, пожалуйста, кто-нибудь: можно ли использовать Node как замену apache/nginx? С учетом того, что проект, пока правда в теории, должен мочь работать с несколькими тысячами пользователей одновременнно не падая, т.е. достаточно высоконагруженный.

Заранее благодарен за ответы!

P.S. Я владею PHP и могу написать бэкенд на нем, но люблю изучать что то новое (если, конечно, есть конкретная задача), да и ходят слухи, что Node вроде как очень быстрый.

Audaxviator 30.06.2017 14:54

Я пробовал - чиста для интересу - прикручивать Angular к Экспрессу, конкретно к шаблону на Jade, и оно прикручивается и работает нормально. Но мне этот Ангуляр показался какой-то бессмысленной головной болью. Всё то же самое можно легко и красиво делать без него. В этом смысле React половчее - он, по крайней мере, в скрипте и не мешается в html-части. Я ничего не утверждаю, скорее всего, это дело вкуса.
Но повторю: это легко скручивается и работает.

А что касается "срача", то прикольнее всего почитать статьи и переводы про Ноду на Хабре за 2010 год - то есть когда платформа только появилась: заголовки типа "Node.js - раковая опухоль" - это ещё не самое смешное.

Платформа прекрасна. Язык javascript - самый трогательный си-образный наследник великого Lisp. Как-то так.

_sky_ 30.06.2017 14:55

Быстрее nginx статику раздавать не будет ничто. Так же всякие плюшки, типа балансировки нагрузки, лучше делать на nginx.
Нода - это уже динамический контент.
Резюмируем: это совершенно разные вещи со своими задачами.

AlexOv 30.06.2017 15:15

Цитата:

Сообщение от _sky_ (Сообщение 457031)
Нода - это уже динамический контент.
Резюмируем: это совершенно разные вещи со своими задачами.

Согласен, но так я и написал - для API, чтобы в Angular таскать данные по запросам с бэкенда.

Audaxviator 30.06.2017 15:17

А nginx всё равно ведь ставим перед Нодой (хотя это не обязательно) и по крайней мере картинки отдаём ему кешировать. Собсно, точно так же и Apache можно заместо Nginx перед ней поставить.

Это, действительно, какое-то бессмысленное противопоставление - "Apache & Node". Корректным будет противопоставление "интерпретатор PHP & Node". Но тут как-то смешно противопоставлять - интерпретатор и компилятор "на лету". Надо тогда, хотя бы, "специальный компилятор PHP от Facebook & Node".

AlexOv 30.06.2017 16:52

Я видимо не совсем точно описал суть вопроса.
Если кратко, то: можно ли не ставить Apache/nginx, а использовать только Node-сервер, для обслуживания API запросов и будет ли это целесообразно в высоконагруженной среде? Что-то типа того ...

Audaxviator 30.06.2017 17:19

Можно. Всё будет работать в "высоконагруженной среде". Если она не столь высоконагружена, как сайт NASA - где нужно отдавать одновременно тысячам клиентов много изображений, анимаций и фильмасиков. Я думаю, что у них перед Нодой всё же стоит Nginx.

AlexOv 30.06.2017 17:50

Ок, понял спасибо. Посмотрю скринкасты Ильи, попробую запилить бэк на Ноде.

Audaxviator 30.06.2017 19:51

А вот кстати, у Кантора (спасибо ему заодно, чтоб два раза не вставать) скринкаст старенький, но он там показывает на шаблонизаторе ejs, а он похож на html - к нему Ангуляр будет прикручивать удобнее. Есть маленькая разница между третьим и четвёртым Express, но это ерунда - разберётесь.


Часовой пояс GMT +3, время: 14:47.