yakczh
V2EX  ›  Node.js

两个 node 进程之间如何通信,有没有可能写一个 node 的扩展来实现两个进程之间的通讯?

  •  
  •   yakczh · Feb 13, 2014 · 6928 views
    This topic created in 4646 days ago, the information mentioned may be changed or developed.
    8 replies  •  2015-02-02 20:49:56 +08:00
    dcoder
    dcoder
    Feb 13, 2014
    1
    yakczh
    yakczh
    OP
    Feb 13, 2014
    2
    @dcoder 这个只是一个监控工具,跟在命令行批处理启动多个node没什么区别
    我说的通信是任意两个进程之间可以 用 receive { xx ->;oo-> } 来互相发消息
    jacobbubu
    jacobbubu
    Feb 13, 2014
    3
    基于连接的话,可以用 dnode, 基于 net, socks 或者其他你自己实现的 stream实现的 rpc框架。
    基于消息的话,可以用 zeromq。zmq是用来构造自有通信系统的乐高积木,一般情况下比上面的方法学习和构建成本要高,但是可构建非常高效复杂的通信系统。
    如果是要实现分布式状态同步,那么可以考虑Scuttlebutt 的方式,也是基于任何 node stream。
    总之,进程间通信不是一个准确的问题,要看具体如何通信,解决什么问题,才会有“更”合适的方法
    Livid
    Livid
    MOD
    PRO
    Feb 13, 2014
    4
    让他们去访问同一个 Redis server 吧。
    ETiV
    ETiV
    Feb 13, 2014
    5
    redis pub/sub
    lenzhang
    lenzhang
    Feb 14, 2014
    6
    直接用linux管道不知道行不行
    dcoder
    dcoder
    Mar 18, 2014
    7
    @yakczh 那你用 vert.x 吧,轻量级的多语言 message bus on JVM.
    vert.x 刚刚支持 node.js 了: http://nodyn.io/

    vert.x 自带的 cluster 支持比原生 node.js 强多了
    http://nodyn.io/compatibility/
    Cluster
    Node.js reference http://nodejs.org/api/cluster.html
    Clustering is handled for now through vert.x builtin clustering, which itself uses hazelcast for the implementation. Vert.x does not yet expose clustering data or an API.
    rangercyh
    rangercyh
    Feb 2, 2015
    8
    @jacobbubu 我花了2天的时间把zmq的文档通读了一遍,但我还是不知道该用怎么样的模式来构建我的服务器,我清楚的知道我的每个进程需要处理什么内容,但是他们之间该用何种zmq模式搭建起来在看了文档之后我依然是比较困惑的,请问有没有什么用zmq搭建服务器的nodejs例子可以参考一下呢?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3365 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 10:38 · PVG 18:38 · LAX 02:38 · JFK 05:38
    ♥ Do have faith in what you're doing.