grpc 在运输层走的什么协议啊? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
zhangqilin
V2EX    Go 编程语言

grpc 在运输层走的什么协议啊?

  •  
  •   zhangqilin 2018-04-27 14:07:10 +08:00 3377 次点击
    这是一个创建于 2724 天前的主题,其中的信息可能已经有所发展或是发生改变。

    gRPC 是 google 新开源的一个基于 protobuf 的 rpc 框架, 使用通信协议为 HTTP2, 网络通信层基于 netty 实现;

    运输层应该还是走的 TCP/IP 吧 但还得进行握手和挥手啊

    那 gRPC 为什么快?。。。

    17 条回复    2018-04-28 09:39:32 +08:00
    misaka19000
        1
    misaka19000  
       2018-04-27 14:10:48 +08:00
    很快嘛,具体有多快?
    LGA1150
        2
    LGA1150  
       2018-04-27 14:11:06 +08:00   2
    TCP 长连接和 HTTP/2 多路复用了解一下
    prolic
        3
    prolic  
       2018-04-27 14:40:51 +08:00
    一是数据压缩,二是长连接
    lance7in
        4
    lance7in  
       2018-04-27 15:08:15 +08:00
    @misaka19000 同想知道到底有多快
    justfly
        5
    justfly  
       2018-04-27 15:10:45 +08:00
    有人说过他比 tcp 快么?
    miki6180
        6
    miki6180  
       2018-04-27 17:49:17 +08:00
    grpc 什么时候变成使用 HTTP2 了?
    current
        7
    current  
       2018-04-27 17:59:55 +08:00
    grpc 借用了 HTTP2 的传输帧来封装 protobuf 的数据,传输层还是 tcp
    对于 RPC 框架来说,数据封装格式和传输协议对性能的影响并不算主要因素
    lepig
        8
    lepig  
       2018-04-27 19:18:12 +08:00
    我想问问。在实际项目中你们都是使用.proto 生产的对应语言文件吗?

    是不是每次更新借口都要生成一次。覆盖以前的。

    总感觉生成的文件太多了
    current
        9
    current  
       2018-04-27 19:22:32 +08:00
    @lepig 有的项目是把编译在编译流程里面的,也有把 proto 和实现文件一同提交到代码库的。。实际项目中都见过。。
    current
        10
    current  
       2018-04-27 19:23:07 +08:00
    @lepig 有的项目是把编译 proto 文件放在编译流程里面的,也有把 proto 和实现文件一同提交到代码库的。。实际项目中都见过。。
    jianpeng957
        11
    jianpeng957  
       2018-04-27 19:44:29 +08:00
    我个人觉得可以跟随项目走 然后跨项目可以弄 submodule 只是一种想法
    Finest
        12
    Finest  
       2018-04-27 20:04:22 +08:00
    Java 项目的话,protobuf-maven-plugin 了解一下
    pathbox
        13
    pathbox  
       2018-04-27 22:50:35 +08:00
    HTTP2
    blackboom
        14
    blackboom  
       2018-04-27 23:05:30 +08:00 via Android
    Java 项目 protobuf-maven-plugin 没有发现怎么自动编译,修改文件需要手动 build 如果有 CI 之类的东西,需要配置环境,挺麻烦。

    如果有这么一个插件都搞定了那完美
    msg7086
        15
    msg7086  
       2018-04-28 07:16:51 +08:00
    速度快慢和 TCP 握手挥手有啥关系,难道还要一个请求握一次?
    owt5008137
        16
    owt5008137  
       2018-04-28 09:22:48 +08:00 via Android
    gRPC 还帮你做了黏包和小包自动合大包呢,这个才大幅提升网络性能。
    godsoul
        17
    godsoul  
       2018-04-28 09:39:32 +08:00
    grpc 快,你也说得出口?你压测下,看看 grpc 和 thrift 这种传统的对比,http 拖着腿,能快哪里去
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     873 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 22:22 PVG 06:22 LAX 15:22 JFK 18:22
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86