【问题标题】:Connector between node.js and Scala (Java)node.js 和 Scala (Java) 之间的连接器
【发布时间】:2011-04-26 22:17:52
【问题描述】:

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

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

【问题讨论】:

    标签: java scala node.js redis publish-subscribe


    【解决方案1】:

    假设您将使用 JSON 作为您的消息格式,您会在 lift 框架中找到几个非常好的 JSON 实现(您不必将其用作 Web 框架,您可以愉快地挑选来自 lift-utils 的组件)。

    但是,如果您想使用 pubsub/actor 模型(这是一个不错的选择,具体取决于您的需求),那么您可能会比 Akka 做得更差,正如您已经建议的那样。

    【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      我已经实现了一个small proof-of-concept library,用于通过 TCP 直接将 node.js 连接到 Scala Remote Actors(使用 protobuf 作为编组机制)。

      【讨论】:

        猜你喜欢
        • 2019-04-20
        • 1970-01-01
        • 2020-08-29
        • 2017-10-21
        • 2023-03-05
        • 2015-06-01
        • 1970-01-01
        • 2023-03-21
        • 2020-08-07
        相关资源
        最近更新 更多