V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sunshinev
V2EX  ›  程序员

grpc 主要用来作什么?

  •  
  •   sunshinev ·
    sunshinev · 2020-06-01 13:45:11 +08:00 · 3832 次点击
    这是一个创建于 1628 天前的主题,其中的信息可能已经有所发展或是发生改变。
    xnode
        1
    xnode  
       2020-06-01 13:47:55 +08:00
    rpc 通信的
    Oktfolio
        2
    Oktfolio  
       2020-06-01 14:01:16 +08:00
    gRPC is a modern open source high performance RPC framework that can run in any environment.
    fiypig
        3
    fiypig  
       2020-06-01 14:02:26 +08:00
    是进程间的通信吗?
    wellsc
        4
    wellsc  
       2020-06-01 14:07:00 +08:00
    不就是在 socket 的基础上新定义了一个概念
    zachlhb
        5
    zachlhb  
       2020-06-01 14:07:46 +08:00 via Android
    微服务中各个服务之间通信会用到 grpc
    simenet
        6
    simenet  
       2020-06-01 15:03:09 +08:00
    远程方法调用 GO 用的挺多
    simenet
        7
    simenet  
       2020-06-01 15:03:15 +08:00
    远程方法调用 GO 用的挺多。。
    asAnotherJack
        8
    asAnotherJack  
       2020-06-01 15:23:21 +08:00
    微服务 rpc
    sonice
        9
    sonice  
       2020-06-01 15:38:33 +08:00
    就是远程方法调用,比 restful 接口更好一点的是必须要严格遵守 schema,并且它的底层还做了数据压缩,把请求响应变得更小。
    Jooooooooo
        10
    Jooooooooo  
       2020-06-01 18:40:11 +08:00
    就是更好用的 http
    raaaaaar
        11
    raaaaaar  
       2020-06-01 21:49:40 +08:00 via Android
    谷歌造的一个 rpc 框架,rpc 就是远程过程调用,一个通信协议,类似于 http,用来调用远程计算机上的程序
    zsdroid
        12
    zsdroid  
       2020-06-01 21:55:46 +08:00
    axihe
        13
    axihe  
       2020-06-01 23:24:11 +08:00
    我们是用来做服务与服务之间的通信,感觉蛮好的;
    不同语言的服务之间随便调,比如我 JS 写的服务里,调用同事 C++的服务,同事 Go 的服务调用我的服务;同事的 JS 服务调用我的服务等等;其实就是更吊一点的 HTTP 。

    服务端和客户端都维护一套规则文件(`.proto`文件),如果增加接口或修改接口等,服务端和客户端都需要更改`.proto`文件(如果是分开维护的话);

    其它都不错,就是改配置这点还是挺蛋疼的,不知道 V2 上各位老哥们是怎么解决这个问题的。为了解决这个问题,我是把 JS 封装成一个 npm 包,包里同时实现了客户端和服务端功能,如果是同事写 JS 的服务,可以直接用包,但是别的语言的话,还是要自己维护一套 proto 文件;这个还是挺蛋疼,不知道有没有什么好的解决方案。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2867 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:58 · PVG 11:58 · LAX 19:58 · JFK 22:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.