Question

Quelle est la meilleure façon d'intégrer Node.js avec Scala (Java)?
La façon la plus simple que je vois jusqu'à présent utilise Redis PubSub en tant que médiateur, avec le serveur Node.js le traitement des demandes HTTP et la publication de messages sur le canal de demande (via REDIS-noeud-client ), et les acteurs Scala (par exemple Acre Redis intégration PubSub ) a souscrit le canal de demande et les résultats des calculs d'édition sur le canal de réponse (souscrit par des noeuds).

Était-ce utile?

La solution 3

Je l'ai mis en place un petite bibliothèque preuve de concept pour le noeud de connexion. js Scala acteurs à distance directement via TCP (en utilisant protobuf comme un mécanisme de triage).

Autres conseils

En supposant que vous allez utiliser JSON comme format de message, vous trouverez quelques très bonnes implémentations JSON à l'intérieur du cadre de levage (que vous ne devez pas utiliser comme framework web, vous pouvez heureusement écrémer les composants de levage-utils).

Mais si vous voulez aller avec un modèle PubSub / acteur (et il est un bon choix, en fonction de vos besoins), alors vous pourriez faire bien pire que Akka, comme vous avez déjà suggéré.

Je ne pense pas qu'une bibliothèque Node.js mise en œuvre du protocole d'acteur à distance Scala est vraiment la meilleure façon. Il peut bien fonctionner pour votre application actuelle, mais si vous avez besoin d'ajouter une troisième technologie au mélange. Peut-il vraiment être mieux si elle a besoin d'écrire des bibliothèques de soutien spéciales pour chaque langue / plate-forme?

La meilleure façon d'intégrer ces moyens consiste à utiliser une technologie d'usage général pour l'intégration des applications de toutes les langues. Et plus précisément, celui qui prend en charge un message basé acteur d'envoi. Heureusement, AMQP et ZeroMQ à la fois en forme dans cet espace et les deux peuvent être utilisés avec Node.js ou scala. De plus, les bibliothèques pour AMQP et ZeroMQ seront plus largement utilisées que tout connecteur noeud scala but spécial, donc buigs seront obtenir des versions fixes et les plus récentes se charge.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top