/ / Comment intégrer Java à nodejs pour gérer des tâches gourmandes en ressources processeur? - java, node.js, intégration

Comment intégrer Java avec nodejs pour gérer des tâches lourdes en CPU? - java, node.js, intégration

J'essaie de choisir une technologie Web adaptée à la foispour les tâches lourdes d'E / S et de CPU. NodeJs est parfait pour gérer une charge importante et peut également être étendu. Cependant, je suis coincé avec la partie lourde de l'unité centrale de traitement. Est-il possible d'intégrer une autre technologie (par exemple, Java) dans un nœud, afin que je puisse lui faire exécuter mes algorithmes dans d'autres threads, puis utiliser à nouveau les résultats dans un nœud. Y a-t-il une solution existante? Toutes les autres suggestions seront très bonnes.

Réponses:

12 pour la réponse № 1

Vous pouvez intégrer NodeJS à Java en utilisant noeud-java.


2 pour la réponse № 2

Comme mentionné dans une réponse précédente, vous pouvez utiliser node-java, un module npm qui parle à Java. Vous pouvez aussi utiliser J2V8 qui englobe Node.js en tant que bibliothèque Java et fournit une API Node.js en Java.


0 pour la réponse № 3

La réponse est architecture lambda.

NodeJs est bien en soi: gérer les requêtes rapides de manière légère, sans faire de calculs supplémentaires sur les données.

Les tâches lourdes du processeur peuvent être facilement déléguées à des composants spécialisés basés sur JVM (les plus célèbres étant sur JVM). Ceci est bien implémenté en utilisant des courtiers de messages et des microservices.

Une architecture basée sur les événements, où les nodejs peuvent êtrereliées à des bases de données telles que Cassandra ou Mongodb et à des infrastructures de calcul en cluster telles qu'Apache Spark (pas nécessairement, cela dépend du problème) pour gérer les parties du système qui nécessitent beaucoup de ressources processeur. Et les conteneurs légers ajoutent un glaçage au gâteau en fournissant de beaux environnements d’exécution isolés pour chacun des composants.

C’est ma conclusion jusqu’à présent concernant cette question. Je pense que les suggestions ci-dessus suppriment en quelque sorte la nécessité de regrouper le noeud sous Java ou une autre solution basée sur JVM pour les tâches nécessitant beaucoup de ressources processeur.