it-swarm.com.ru

Как интегрировать Java с nodejs для обработки ресурсоемких задач?

Я пытаюсь выбрать правильную веб-технологию для тяжелых задач ввода-вывода и для процессора. NodeJs идеально подходит для работы с большой нагрузкой, и его также можно масштабировать. Тем не менее, я застрял с тяжелой частью процессора. Можно ли интегрировать в узел другую технологию (например, Java), чтобы я запускал мои алгоритмы в других потоках, а затем снова использовал результаты в узле. Есть ли какое-либо существующее решение? Любые другие предложения будут очень хорошими. 

13
Gevorg Soghomonyan

Вы можете интегрировать Node JS с Java, используя node-Java .

15
JustDanyul

Как упоминалось в предыдущем ответе, вы можете использовать node-Java, который является модулем npm, который общается с Java. Вы также можете использовать J2V8 , который оборачивает Node.js в качестве библиотеки Java и предоставляет API-интерфейс Node.js в Java.

4
irbull

Ответ лямбда-архитектура .

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

Тяжелые задачи процессора могут быть легко делегированы специализированным компонентам на основе JVM (ну, самые известные из них на JVM). Это хорошо реализовано с помощью брокеров сообщений и микросервисов. 

Архитектура, основанная на событиях, где nodejs можно подключить к базам данных, таким как Cassandra или Mongodb, и средам кластерных вычислений, таким как Apache Spark (не обязательно, хотя это зависит от проблемы) для обработки частей системы, нагруженных процессором. А легкие контейнеры добавляют глазурь к пирогу, обеспечивая приятную изолированную среду выполнения для каждого из компонентов.

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

1
Gevorg Soghomonyan