node.js和Scala之间的连接(Java)

将node.js与Scala(Java)集成的最佳方式是什么?

我目前看到的最简单的方法是使用Redis PubSub作为中介,通过node.js服务器处理HTTP请求并将消息发布到请求通道(通过redis-node-client ),以及Scala参与者(例如Akka Redis PubSub集成 )请求通道并将计算结果发布到响应通道(由节点订阅)。

假设你将使用JSON作为你的消息格式,你会在lift框架中find一些非常好的JSON实现(你不必使用它作为web框架,你可以高兴地从电梯中挑选组件-utils)。

但是,如果你想用一个酒吧/演员模型(这是一个不错的select,根据你的需要),那么你可以做比阿卡更糟糕,正如你已经build议的。

我不认为实现Scala远程angular色协议的node.js库确实是最好的方法。 它可能适用于您当前的应用程序,但如果您需要添加第三种技术混合。 如果需要为每种语言/平台编写特殊的支持库,它真的是最好的吗?

集成这些语言的最好方法是使用通用技术来集成所有语言的应用程序。 更具体地说,支持基于演员的消息发送。 幸运的是,AMQP和ZeroMQ都适合这个空间,都可以和node.js或者scala一起使用。 此外,AMQP和ZeroMQ的库将比任何特殊用途的node-scala连接器使用得更多,因此buigs将得到修复,更新的版本将得到支持。

我已经实现了一个小概念validation库,用于通过TCP直接将node.js连接到Scala Remote Actors(使用protobuf作为编组机制)。