|
|
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
всем привет, коллеги, у нас тут проект наклевывается на node.js. Начальство намекает, что надо бы овладеть. Я поигрался с ним немного, но что-то как-то "не то". Душа не лежит. Синтаксис мне просто караул, кругом анонимные вызовы. Как дебуговать его тоже еще не разобрался. Вроде бы MVC поддерживает, даже альтернатива jsp есть. Из баз данных тоже можно информацию читать (записывать не пытался). Утверждают, что типа основное преимущество nodejs в том, что он капец какой серьезный в отношении многозадачности / многопоточности. Вот контейнеры на tomcat "не тянут" такой нагрузки. Для решения этих задач в java world надо load balancing использовать и типа это тянет за собой "hardware" расходы. А на nodejs типа все легло на минимум железа делается. У меня опыту с ним никакого, поделитесь плиз. Так ли "хорош зверь как его малюют" ? спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 13:05 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
Где-то тут ссылка на хабровскую статью про node.js проскакивала. kadet...контейнеры на tomcat "не тянут" такой нагрузки...этих задач в java world надо load balancing использовать и типа это тянет за собой "hardware" расходы... kadet...А на nodejs типа все легло на минимум железа делается... Ерунда это все. В современном мире есть только ДВЕ испытанные технологии: 1. Oracle - там есть скрытый параметр (поэтому о нем большинство не знает, а специалисты зарабатывают кучу бабла) fast=true. Пишеш говно систему, а когда заказчик жалуется, что все медленно, берешь у него кучу бабла и просто ставишь параметр fast=true 2. Сыр Хохланд. Как известно из рекламы, если съесть много этого сыра то и инопланетяне прилетают и никакое серверное железо покупать не нужно. а вообще, "все это фантастика" ( C ) реклама сыра Хохланд p.s. Если сыр Хохланд не помогает, то существуют испытанные временем препараты ЛСД и MDMA. Правда использование их в продакшене и при общении с заказчиком, это уже нарушение УК РФ. p.p.s. Java это худо бедно но язык рассчитанный на компилятор (пусть и в байт код) плюс с системой оптимизирующего компилятора в бинарный код (jit), Java Script скриптовый язык, в куче мест ( JSON, eval ) требующий интерпретации. Утверждение, что первое "тормоз", а второе "летает"....ну это нужно было в школе все уроки информатики пропускать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 13:20 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
На JavaScript НЕ программирую. Данная статья мне понравилась (хотя конечно, понятно, что подходить нужно критически и всю критику делить на 10) https://habrahabr.ru/post/129640/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 13:23 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
kadet, А какая СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 13:25 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, nodejs - сервер написанный на с/с++, но использующий синтаксис (философию) javascript. В первом приближении (на простых "helo world") работает действительно быстро. Но я не могу его сравнить с более менее серьезным использованием. С моего имхо, например тот же MarcLogic "откатал" олимпиаду в лондоне на ура. Так на него и нагрузка была реально серьезная и load balancing он имеет встроеный, а тут какой-то node.js какие-то права "качает". Может быть для решения узко специализированных задач он и подойдет, но как-то для серьезного применения (имхо) как-то недозрел. я вот поэтому и хотел выяснить "who is who" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 13:31 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
Valery Shiskinkadet, А какая СУБД? я мускл подключал. вот пример https://codeforgeek.com/2015/01/nodejs-mysql-tutorial/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 13:34 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
kadet...но как-то для серьезного применения (имхо) как-то недозрел... Возникает вопрос, что есть "серьезные применения" и какие критерии. AFAIK (насколько я знаю), большинство "серьезных применений" до сих пор сделаны на Cobol'е ))) и поднятые тут Вами вопросы, вообще никакого отношения к "серьезности" не имеют Мое IMHO: 1. Скриптовые языки, которые вообще никакой типизации на этапе компиляции не имею. Лично для меня - пошло нафиг. Я и от Java мучаюсь, что типизации хотя бы на уровне C/Pascal'а нет. 2. Скриптовые языки, где большая часть ошибок вылазит в момент исполнения - пошли нафиг. Я и от Java шизею, когда при запуске .JAR в СКОМПИЛИРОВАННОМ коде получаю ошибку "Compile error". Если compile error, нафига ты вообще .class файл генерируешь? 3. Скриптовые языки, где вся линковка в момент выполнения - пошли нафиг. Я и от Java шизею, когда легким движением руки (видел в одном "серьезном применении") можно слинковать .jar с ним же самим же (но пред. версии). Очень интересные иногда ошибки/дефекты на этапе компиляции случаются ))) /+ см. пункт 2/ и так далее.... Если нужны хвалебные отзывы... тогда наверное в форум JavaScript / HTML, там наверное смогут привести 100500 причин, почему нужен JavaScript, а все остальные языки г....но. В общем, при выборе технологий, хорошо бы расписать какие плюсы для команды/результата. На мой взгляд, программировать нужно на том что знаешь/умеешь/любишь или хочешь изучить (любишь). Все остальное - мазохизм. Т.ч. Ваш вопрос "проект наклевывается на node.js. Начальство намекает, что надо бы овладеть" это не столько для технического форума, сколько для флуда в подфоруме "Работа" и сайта http://natribu.org/ ))). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 13:46 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
kadetколлеги, у нас тут проект наклевывается на node.js. Начальство намекает, что надо бы овладеть. Я поигрался с ним немного, но что-то как-то "не то". Душа не лежит. Синтаксис мне просто караул, кругом анонимные вызовы. Как дебуговать его тоже еще не разобрался. Вроде бы MVC поддерживает, даже альтернатива jsp есть. Из баз данных тоже можно информацию читать (записывать не пытался). Утверждают, что типа основное преимущество nodejs в том, что он капец какой серьезный в отношении многозадачности / многопоточности. Вот контейнеры на tomcat "не тянут" такой нагрузки. Для решения этих задач в java world надо load balancing использовать и типа это тянет за собой "hardware" расходы. А на nodejs типа все легло на минимум железа делается. У меня опыту с ним никакого, поделитесь плиз. Так ли "хорош зверь как его малюют" ? Вот наиболее толковые мысли по вашему вопросу. https://rclayton.silvrback.com/speaking-intelligently-about-java-vs-node-performance - Tomcat не является адекватным вариантом для сравнения. Он, как минимум, обременен JEE требованиями. Логичнее сравнивать с Jetty без сервлетов, например. - Если вам и правда важна производительность, то вы в первую очередь будете думать об архитектуре и масштабируемости, а не о том что один сервер выдаст несчастные +10% к производительности по сравнению с другим. - "hardware расходы" это просто смешно. Несколько месяцев работы программиста это топовый высокопроизводительный сервер. Бюджет на разработку, поддержку и прочее, обычно, превышает бюджет на железо не только в разы, но и на порядки. Разве что если вашей системе нужен новый дата центр? - БольшАя часть вашего Java опыта и наработок идёт лесом. Вы будете наступать на стандартные грабли новой для вас платформы и героически их решать. Я бы выбрал Node.js только потому что это что-то новое и ещё не изученное. Нубы выбирают Node.js потому что он на JS, который они уже знают, а у Java такой высокий порог вхождения. Недальновидный бизнес выбирает Node.js потому что начитались этих глупостей про производительность, а опыта планирования процесса производства ПО не имеют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 13:48 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
Ну и вообще в поиск. Все знаю, что после создания на данном форуме СУБД Стебелек, все остальные технологии нервно курят в стороне. Т.к. давно доказано, что СУБД Стебелек от десяти до сотни и более раз быстрее ЛЮБОЙ другой системы, в независимости какая она. Хоть СУБД Oracle, хоть node.js. Быстрее Стебелька нет ничего! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 13:48 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ну есть еще один не маловажный критерий выбора языка: системы / библиотеки которые нужно использовать "заточены" под данный язык. Например AFAIK сейчас все проекты Mozilla на JavaScript, т.е. делать что-то для Mozilla / под Mozilla на других технологиях - технически можно, практически будет постоянная головная боль. Если нужно интегрироваться / поддерживать какую нибудь систему уже реализованную на node.js - вполне возможно, что переход на "родную технологию" единственный оправданный способ. IMHO & AFAIK 1) Насколько я понимаю, при всех плюсах/минусах и node.js и java __работающие__ технологии. Т.е. сделать работающий проект - и на той и на другой вполне можно. Главное, что бы танцором, то что обычно им мешает - не мешало ))) 2) Успешность проекта от выбора языка практически не зависит 3) "Производительность" от выбора языка практически не зависит. Ну или зависит не так уж, что бы очень сильно. Всегда можно "критические" части реализовать на Java / C / Assembler / в шестнадцатеричных кодах. Выбрать нужное ))) Было бы желание и потребность, оптимизировать всегда можно. Вопрос просто денег. 4) Что мешает плохим танцорам, всем известно ))) От выбора языка программирования, физиологические особенности строения тела не изменяться. Если мешает на java, то и на java script мешать будет ))) И наоборот. Сменой языка программирования это не лечится, только хирургическим способом (что дорого и возможно противозаконно) или фармакологический (что дешевле, но так же противозаконно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 14:01 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
kadet, Все зависит от задачи. Посмотрите, какие типы задач реализованы с помощью node. Мне не приходилось видеть, чтобы кто-то применял node при решении задач, где требуется серьезная работа с транзакциями и особенно с распределенными транзакциями. Да и с СУБД в node не все однозначно. MongoDB - это Вы будете встечать во всех учебниках и статьях. И это потому, что там есть API для выполнения "не блокирующих" операций. В MySql тоже вроде добавили такое API. Кстати, "не блокирующее" API в jee 7 сервлетах также реализовано. Года 3 назад мне пришлось работать с проектом на node. Больше всего убивало обилие библиотек и технологий и каждая со своим DSL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 14:16 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
Я-бы взялся использовать Node.js поскольку это возможность взглянуть на разработку веб-сервисов и микро-сервисов с новой стороны без тяжелых фраймвороков. Привлекает также очень быстрый старт. По сути создание веб-слушателя занимает несколько строчек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 14:19 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
mayton, Это так. Но затем, по мере роста проекта вам понадобится require, backbone, knockout и еще, еще и еще. И программка в 1000 строк на java Вам покажется глотком свежего воздуха, по сравнению со 100 строками javascript, который без тщательно проработанных текстов есть набор огромного числа ошибок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 14:30 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
kadetnode.js странный вопрос на ветке по серверному ЯП. Это ведь альтернатива Java. Отсюда и вопрос тут странный imho ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 14:43 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
maytonЯ-бы взялся использовать Node.js поскольку это возможность взглянуть на разработку веб-сервисов и микро-сервисов с новой стороны без тяжелых фраймвороков. Привлекает также очень быстрый старт. По сути создание веб-слушателя занимает несколько строчек. Не очень понятно, что мешает такое же сделать на Java. Если в проекте нужно (а оно нужно?) массово делать микро-веб-сервисы, ну напиши свой интерфейс под такие сервисы и несколько системных классов, которые их будут в метаописания TomCat'а добавлять. И всех делов. На мой ламерский взгляд. Т.к., что значит "микро-сервисы" и нафига они нужны - я не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 14:45 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
Valery Shiskinmayton, Это так. Но затем, по мере роста проекта вам понадобится require, backbone, knockout и еще, еще и еще. И программка в 1000 строк на java Вам покажется глотком свежего воздуха, по сравнению со 100 строками javascript, который без тщательно проработанных текстов есть набор огромного числа ошибок вот это вот высказывание - то что мне спинной мозг и подсказывает. Да, возможно nodejs позволяет что-то делать быстрее, но ВСЕ проекты имют тенденцию к усложнению. Это может в итоге привести к такой ж...пе, что легче работу поменять, чем с это дерьмо разгребать. Хуже всего, что заказчик не понимает этого и удивляется что со временем обслуживание проекта становится все дороже и дороже. @Blazkowicz авторВот наиболее толковые мысли по вашему вопросу. https://rclayton.silvrback.com/speaking-intelligently-about-java-vs-node-performance спасибо, действительно толковые мысли . Мною понятая разница между технологиями только в том 1. на какой технологии я специализируюсь 2. культура программирования (clean code) 3. смотри №1 спасибо Конечно, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 14:51 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
Petro123kadetnode.js странный вопрос на ветке по серверному ЯП. Это ведь альтернатива Java. Отсюда и вопрос тут странный imho согласен с вами. но я из этого (java) мира и поэтому интересуюсь в первую очередь у "единоверцев" мне очень не хочется влазить в nodejs, просто потому, что одного языка знать недостаточно. Нужна техника, парадигма построения приложения. Она все-таки в определенной степени зависит от языка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 14:57 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
kadetnodejs в том, что он капец какой серьезный в отношении многозадачности / многопоточности. Вот контейнеры на tomcat "не тянут" такой нагрузки. Для решения этих задач в java world надо load balancing использовать и типа это тянет за собой "hardware" расходы. А на nodejs типа все легло на минимум железа делается. Нету многозадачности/многопоточности. Node.js - сервер приложений, написанных на JavaScript, а JavaScript не поддерживает многопоточность. Балансировка нагрузки не имеет отношения к Java или JavaScript, но она не поддерживается в Tomcat-е, поэтому при большом числе одновременных пользователей к нему добавляют внешний балансировщик нагрузки. Вряд ли Node.js снизит требования к оборудованию, т.к. производительность JavaScript ниже. Придётся изучать JavaScript и выбрать и изучить дополнительные библиотеки на JavaScript, которых развелось много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 15:11 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
kadet, Если Ваше начальство желает экзотики, то попробуйте убедить его использовать vert.x. И Вам будет интересно и в проблемы node не вляпаетесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 15:12 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
Partisan M...Балансировка нагрузки не имеет отношения к Java или JavaScript, но она не поддерживается в Tomcat-е, поэтому при большом числе одновременных пользователей к нему добавляют внешний балансировщик нагрузки.... В мое время, было принято Tomcat всегда ставить за Apache. Т.ч. я так же как привык, сейчас и поступил. Вся цена в двух строчках: 1. sudo yum install httpd 2. + одна строчка в конфиге Tomcat'а Мне не кажется, что это вообще является проблемой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 15:19 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevНе очень понятно, что мешает такое же сделать на Java. Если в проекте нужно (а оно нужно?) массово делать микро-веб-сервисы, ну напиши свой интерфейс под такие сервисы и несколько системных классов, которые их будут в метаописания TomCat'а добавлять. И всех делов. В предлагаемом тобой подходе в случае возникновения OOM в Tomcat у нас падает процесс Java и в том числе все сервисы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 15:32 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevВ мое время, было принято Tomcat всегда ставить за Apache. Т.ч. я так же как привык, сейчас и поступил. Вся цена в двух строчках: 1. sudo yum install httpd 2. + одна строчка в конфиге Tomcat'а Щас вроде Apache заменяют на nginx. Для статичного контента и реверс-прокси. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 15:34 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
maytonВ предлагаемом тобой подходе в случае возникновения OOM в Tomcat у нас падает процесс Java и в том числе все сервисы. 1. Интересно, а если на сервере кто нибудь Reset нажмет, JavaScript спасет? 2. JavaScript чудесным образом лечит от говно-кода и отсутствия OOM ? 3. С проблемой единого heap'а в Java - полностью согласен. Один говно класс спокойно может положить всю JVM. Но так же, один говно-процесс, с таким же успехом может и весь Linux положить. При наличии OOM и ухода в глубокий своп, лично я на Amazon Linux даже законнекться через SSH не могу. Не зная JavaScript, 100% гарантирую, что я "легко" могу такой говно скрипт написать, что весь Linux будет колом ставить ))) Лень искать ссылку, но в старом фирме хорошо было сказано: "что один человек сделал, другой завсегда сломать сумеет" ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 15:40 |
|
||
|
node.js vs java technologies
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev3. С проблемой единого heap'а в Java - полностью согласен. Один говно класс спокойно может положить всю JVM. Но так же, один говно-процесс, с таким же успехом может и весь Linux положить. При наличии OOM и ухода в глубокий своп, лично я на Amazon Linux даже законнекться через SSH не могу. Точно так же одна говнофункция в нужном месте будет тормозить весь Node.js по той причине что запросы разгребаются в один поток. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 15:47 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39263799&tid=2123933]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 400ms |

| 0 / 0 |
