使一个node.js服务器与另一个节点“交谈”的最佳方式是什么?
- MsgPack?
- JSON-RPC?
- Socket.io(可能吗?怎么办?)
编辑:我正在谈论在不同的物理机器上的每个节点进程;
我不明白如何redis可以帮助我在这…
我并不清楚您是否在寻找使两台物理机上的两台节点服务器“互相通话”或一台机器上的两个node.js服务器进程的方法。
(你可以编辑你的问题,使其更清晰)。
你可以看看:
- 协议缓冲区的节点
- MsgPack-RPC为节点
- Websocket.MQ
- dnode – 这使用socket.io作为传输层
- IPCNode
- 带有node-amqp或node-amqp的AMQP和类似RabbitMQ的东西
- 或者你可以像redis一样使用基于数据库的文档
注意:其中一些可能需要更新
我希望这有帮助
我会去redis 。 pubsub语义非常好。 node_redis客户端库非常快,因为它可以使用名为hiredis的闪电般快速的c-extension-library。 我只是使用json作为我的编码。 这可能会更快。
如果你喜欢,你也可以使用DNode来进行沟通。 我也相信它具有socket.iofunction。 你应该看看源代码来找出这个问题。
从你的问题中不清楚你的意思是一个Node服务器与另一个服务器交谈。 您可以使用发送UDP数据包,build立TCP连接,使用HTTP连接来使用其他人已经指出的任何高级别机制。
对于Node进程通信的一个有趣的场景,你可以看一下Mikeal Rogers的2010 JSConf.eu讲座 。 他解释了如何使用CouchDB来做到这一点。 非常有趣的谈话。