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

node 和 Java 通信,除了 dubbo 还有什么更好实践?

  •  
  •   benjunk · 2018-12-25 16:50:08 +08:00 · 5838 次点击
    这是一个创建于 2154 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司目前选择是 dubbo,但是有点黑盒子,发送请求和接受请求过程不可见,有时候还会在底层出现一些调用异常却不可查。 java 开发也要专门为 dubbo 写接口才能通过 zk 调用。各位大佬还有什么更好实践?

    20 条回复    2018-12-26 14:16:59 +08:00
    marksaas
        1
    marksaas  
       2018-12-25 16:55:59 +08:00
    http,websocks,webservice,消息中间键。。。。。。
    benjunk
        2
    benjunk  
    OP
       2018-12-25 17:00:29 +08:00
    @marksaas http 感觉是最后选择吧,java 都有 http 接口了,node 立在这里感觉很多余。并且大佬你后面这几个是客户端和服务器实时通信的协议吧?我是希望有一个类似 dubbo 的解决方案,node 在服务器端请求 java 接口
    MicroPan
        3
    MicroPan  
       2018-12-25 17:03:58 +08:00
    grpc
    luozic
        4
    luozic  
       2018-12-25 17:14:12 +08:00 via iPhone
    thrift
    benjunk
        5
    benjunk  
    OP
       2018-12-25 17:18:19 +08:00
    @luozic 已经被过度了,之前公司是 php+java 就是用的 thrift,现在全栈迁移 node,都是 Dubbo
    momocraft
        6
    momocraft  
       2018-12-25 17:23:04 +08:00
    dubbo 是 apache dubbo (看介绍也是 http) ? 你说的 http 是指什么
    benjunk
        7
    benjunk  
    OP
       2018-12-25 17:29:33 +08:00
    @momocraft dubbo 是配合 zk 来的。java 把服务注册到 zk 上,node 到 zk 注册消费者,两者就通了。可能我叙述有问题,我说的 http 接口就是直接通过网址来获取数据了。
    glasslion
        8
    glasslion  
       2018-12-25 17:49:58 +08:00
    dubbo? 还有更差的实践吗
    benjunk
        9
    benjunk  
    OP
       2018-12-25 18:00:51 +08:00
    @glasslion 现在他们想摆脱 dubbo 重新回到 http 时代。。因为要接 dubbo 的话,java 必须为 dubbo 单独写一份文件注册到 zk 上,还要写 dto。如果 http 的话 java 工作少了,node 没有黑盒子。但是这样我感觉没必要呀,java 都起了 http 接口了,用 node 有啥意义
    zk123
        10
    zk123  
       2018-12-25 18:10:37 +08:00 via iPhone
    请在 dubbo 上扩展一个自己的协议
    fyibmsd
        11
    fyibmsd  
       2018-12-25 18:12:15 +08:00
    队列
    luozic
        12
    luozic  
       2018-12-25 22:12:12 +08:00 via iPhone
    dubbo 支持 http 协议直接搞 rest 啊
    Cbdy
        13
    Cbdy  
       2018-12-25 22:17:00 +08:00 via Android
    说一个以前用过的:hprose
    guodong110
        14
    guodong110  
       2018-12-25 23:34:55 +08:00 via Android
    做个泛化调用,所有的 http 请求都到这个泛化调用转发器上,node 层不要去感知注册中心这些玩意
    xhinliang
        15
    xhinliang  
       2018-12-26 00:45:42 +08:00
    说下你们是出于什么原因要通信吧。
    如果说 node 只是做一个中间层的话,那就别搞 zk 了。
    marksaas
        16
    marksaas  
       2018-12-26 09:38:33 +08:00
    @benjunk 调用者都是客户端,看你怎么理解了,dubbo 只是一个框架,直接很多协议,不用 dubbo 协议还有很多其他的可以用的,具体参考: http://dubbo.apache.org/zh-cn/docs/user/references/protocol/dubbo.html
    photon006
        17
    photon006  
       2018-12-26 09:53:21 +08:00
    grpc
    thonatos
        18
    thonatos  
       2018-12-26 10:13:48 +08:00
    跨语言调用要看使用场景了,通用场景的 RPC/HTTP 比较常见了,duboo/grpc 应该都可以满足了。
    这里需要多说一下,zk 的存在是为了服务发现,这个换到其他模型也一样需要的,关键在于服务架构。
    nocrush
        19
    nocrush  
       2018-12-26 11:40:29 +08:00
    rpc http
    TomVista
        20
    TomVista  
       2018-12-26 14:16:59 +08:00
    可以写一个 2 进制文件夹存东西,两边进行读取,实现通信.:dog
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6285 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 02:31 · PVG 10:31 · LAX 18:31 · JFK 21:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.