我目前正在使用rails来提供静态网页,我正在尝试使用NodeJ来处理我的应用程序的一些实时方面。
我已经能够通过让Nodejs写入db并从我的rails服务器读取它来在Nodejs和我的Rails服务器之间进行单向通信。
现在我想做另一种方式,也就是说Rails中的一个动作会在Nodejs中触发一个动作。显然,我可能会愚蠢,并有一个节点不断轮询数据库服务器。
我有什么选择?
是否有更简单/更快捷的选择?
答案 0 :(得分:3)
技术上你有inter process communication的很多方法,如果你想要一些简单的东西我相信你应该看看dnode提供RPC on TCP或命名管道它有一个{{ 3}}。让你很容易进行RPC调用,因为它是TCP,你可以跨机器使用它。
你也可以有一个消息队列ruby implementation,但我相信会有不必要的开销。如果您有两个以上的流程相互交谈,那将是一件好事。
除了所有这些,如果你想要最小延迟,如果你的进程都在一台机器上运行,我相信你应该使用命名管道和stdio进行通信,但我不知道节点中的任何模块帮助您抽象,并且您必须在stdio上构建自己的RPC模块。
答案 1 :(得分:3)