node.js 中的 RPC 和消息队列

Posted

技术标签:

【中文标题】node.js 中的 RPC 和消息队列【英文标题】:RPC and MessageQueues in node.js 【发布时间】:2011-12-20 15:04:17 【问题描述】:

使用 RPC over MQ 有哪些好的用例?如果一个节点进程想要与一个 java 程序对话,我们可以使用 RabbitMQ 吗?其他选择是什么? 什么 nowjs 或 dNode 不能用 socket.io 完成? RPC 或 MQ 上的 node.js 中有许多模块。它们都满足某些特定需求吗?

编辑:

我在找什么?

    如何在浏览器/客户端和服务器之间进行 RPC 样式的全双工通信?我认为答案是socket.io或nowjs或dNode。如果有更多请添加。

    您的节点进程如何与异构系统中的其他进程通信?如果您想将一些 CPU 绑定任务卸载到其他进程,这可能是必要的……例如在 node.js 进程和 Java 进程之间。可以有 3 种不同的方法来做到这一点。哪个适合什么?

    我。发布-订阅

    二。请求-响应

    三。推拉式

    什么时候使用 xmpp 而不是 rabbitMQ?

【问题讨论】:

如果您确切地指定了您要执行的操作,将会有所帮助。此外,您问的问题太多,将其分成多个问题会更有益。我可以说你在谈论节点进程之间的通信,但看起来你也在谈论与客户端的连接? 【参考方案1】:
    是的,NowJS 或 dnode 是不错的选择。 redis pub sub 可能对您有用,就像使用 rabbit 一样。取决于您的用例。 我觉得xmpp和rabbit没有可比性? rabbit 用于消息传递,xmpp 是一种聊天协议(我认为类似于 google chat 使用的协议)。

/fyi #node.js IRC 欢迎您:http://bit.ly/nodeIRC

【讨论】:

以上是关于node.js 中的 RPC 和消息队列的主要内容,如果未能解决你的问题,请参考以下文章

RPC和消息队列

Heroku 上的 Node JS 消息队列

从 Array 推送到 Azure 队列覆盖消息?[node.JS]

将“回复”队列中的消息复制到另一个队列

如何使用消息队列在 Node JS 中执行长事件处理?

消息中间件—RocketMQ的RPC通信