V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yakczh
V2EX  ›  Node.js

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

  •  
  •   yakczh · 2014-02-13 14:27:34 +08:00 · 5898 次点击
    这是一个创建于 3973 天前的主题,其中的信息可能已经有所发展或是发生改变。
    8 条回复    2015-02-02 20:49:56 +08:00
    dcoder
        1
    dcoder  
       2014-02-13 14:46:10 +08:00
    yakczh
        2
    yakczh  
    OP
       2014-02-13 14:57:51 +08:00
    @dcoder 这个只是一个监控工具,跟在命令行批处理启动多个node没什么区别
    我说的通信是任意两个进程之间可以 用 receive { xx ->;oo-> } 来互相发消息
    jacobbubu
        3
    jacobbubu  
       2014-02-13 15:33:13 +08:00
    基于连接的话,可以用 dnode, 基于 net, socks 或者其他你自己实现的 stream实现的 rpc框架。
    基于消息的话,可以用 zeromq。zmq是用来构造自有通信系统的乐高积木,一般情况下比上面的方法学习和构建成本要高,但是可构建非常高效复杂的通信系统。
    如果是要实现分布式状态同步,那么可以考虑Scuttlebutt 的方式,也是基于任何 node stream。
    总之,进程间通信不是一个准确的问题,要看具体如何通信,解决什么问题,才会有“更”合适的方法
    Livid
        4
    Livid  
    MOD
       2014-02-13 16:07:29 +08:00
    让他们去访问同一个 Redis server 吧。
    ETiV
        5
    ETiV  
       2014-02-13 16:28:59 +08:00
    redis pub/sub
    lenzhang
        6
    lenzhang  
       2014-02-14 00:50:15 +08:00
    直接用linux管道不知道行不行
    dcoder
        7
    dcoder  
       2014-03-18 14:47:29 +08:00
    @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
        8
    rangercyh  
       2015-02-02 20:49:56 +08:00
    @jacobbubu 我花了2天的时间把zmq的文档通读了一遍,但我还是不知道该用怎么样的模式来构建我的服务器,我清楚的知道我的每个进程需要处理什么内容,但是他们之间该用何种zmq模式搭建起来在看了文档之后我依然是比较困惑的,请问有没有什么用zmq搭建服务器的nodejs例子可以参考一下呢?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   970 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:20 · PVG 05:20 · LAX 13:20 · JFK 16:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.