Подтвердить что ты не робот

Node.js против Java для приложения Comet

Мы стремимся создать высокопроизводительный масштабируемый сервер Comet и сначала подумаем об использовании Java Grizzly с GlassFish.

Но после некоторого исследования мы видим, что Node.JS быстро выбирается в качестве предпочтительного выбора из-за крайней простоты и заявленной производительности:

http://news.ycombinator.com/item?id=1088699

http://amix.dk/blog/post/19484

Я буду рад услышать реальный опыт использования обоих, и в конечном итоге это может быть лучший выбор в будущем.

Спасибо!

4b9b3361

Ответ 1

Если вы еще прочтете записи блога того же автора, а именно пост, Является node.js лучше всего для кометы, он объясняет, почему он снова вернулся к Java-решению (Netty) и доволен этим. Думаю, это было бы интересно прочитать.

Ответ 2

Я знаю, что это старый и уже ответивший вопрос, но я думаю, что мой опыт может быть полезным.

Я начал проект небольшого домашнего животного, чтобы протестировать Node.js - как он "чувствует" и как программировать на нем. Я был впечатлен легкостью работы в такой экосистеме: Node.js-код легко писать (хотя его асинхронная парадигма не так проста для обычного программиста), библиотеки легко создавать и т.д. И т.д. Даже npm удивительно Легко: я просто нашел самый простой способ предоставить собственный код, поскольку библиотека - сделать его общедоступным пакетом!

Однако для работы с Node.js не так уж много хороших инструментов. Может быть, потому что слишком легко что-либо сделать, большинство библиотек частично реализованы, недокументированные решения (и Я тоже виноват).

Также обратите внимание, что соответствующее различие Node.js - это не язык JavaScript, а асинхронная модель ввода-вывода. Это самый интересный аспект Node.js, но асинхронный стиль программирования не так хорошо протестирован, как обычный способ веб-разработки. Может быть, это действительно чудо, которое пропагандируется - или, может быть, оно не так хорошо, как обещали.

Даже в случае, если это окупается, у вас будет достаточно разработчиков для поддержки такой (по крайней мере еще) необычной кодовой базы? Если вы можете получить много преимуществ от асинхронного "образа жизни" Node.js, вы можете использовать более консолидированные языки и фреймворки, такие как Twisted для Python (это мой любимый язык, так что будьте осторожны с моим мнением:)). Для Java тоже может быть что-то подобное. Во всяком случае, я подозреваю, что у вас пока нет большой заинтересованности в этой модели, так как ваш вопрос больше ориентирован на языки, чем на парадигму программирования, поэтому Node.js не может многое предложить вам.

Итак... нет, я бы сейчас не развил что-то professonaly в Node.js, хотя я думаю, что это интересно и поучительно изучать.

Ответ 3

По-моему, асинхронный подход для кометы, прославившейся в Node.JS и Grizzly, глубоко ошибочен.