问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

gRPC笔记与相关问题

发布网友 发布时间:2022-12-10 06:28

我来回答

1个回答

热心网友 时间:2024-10-09 21:26

为什么要用RPC,数据编码,请求映射?

数据编码就是序列化,反序列化,将对象变成字节流发送给服务端,服务端将收到的字节流再转化为对象

常见的序列化,反序列化工具XML, JSON, Protobuf。

既然Protobuf在某些场景下效率要比JSON高,为什么高?

Json的缺点就是非字符串的编码效率低,int类型在内存只占两个字节65535, 转化成JSON却需要五个字节,bool则需要占用四到五个字节

另一个缺点就是信息冗余,面对同一个接口同一个对象,需要重复传送相同的字段名。

Json在编码效率和可读性之间选择了可读性

Protobuf选用了VarInts对数字进行编码,解决了效率问题,另一方面将字段都指定为整数编号,传输的时候只传送字段编号,解决了冗余问题,Protobuf使用.proto文件作为schema记录字段和编号的对应关系

gRPC底层使用的HTTP/2协议

HTTP协议本身可以通过Content-Encoding表示压缩算法,使用Contetn-length指定数据长度。

而gRPC重新定义了一套机制,因为gRPC支持stream rpc,流式接口。

gRPC支持三种流式接口,请求流,响应流,双向流。

请求流可以在RPC发起之后不断发送新的请求消息,此类接口最典型的使用场景事发推送或者短信。

相应流可以在RPC发起之后不断接受新的响应消息,最典型的场景就是订阅消息通知

双向流可以在RPC发起之后同时手法消息,最典型的场景就是实时语音转字幕

为了实现流式传输,gRPC引入Length-Prefixed Message同一个gRPC请求的不同消息共用HTTP头信息,只能给每个消息单独加一个五字节的前缀来表示压缩和长度信息。gRPC还定义了自己的grpc-status和grpc-message

HTTP/1.1也是支持复用TCP连接的,但这种复用有一个明显的缺陷,所有请求必须排队,先到先服务。

HTTP/2引入了stream的概念,解决了TCP链接复用的问题,可以在一条TCP连接上并行收发HTTP消息,而无需等待。

即gRPC为了实现流式特性,使用了HTTP/2进行通信。

热心网友 时间:2024-10-09 21:33

为什么要用RPC,数据编码,请求映射?

数据编码就是序列化,反序列化,将对象变成字节流发送给服务端,服务端将收到的字节流再转化为对象

常见的序列化,反序列化工具XML, JSON, Protobuf。

既然Protobuf在某些场景下效率要比JSON高,为什么高?

Json的缺点就是非字符串的编码效率低,int类型在内存只占两个字节65535, 转化成JSON却需要五个字节,bool则需要占用四到五个字节

另一个缺点就是信息冗余,面对同一个接口同一个对象,需要重复传送相同的字段名。

Json在编码效率和可读性之间选择了可读性

Protobuf选用了VarInts对数字进行编码,解决了效率问题,另一方面将字段都指定为整数编号,传输的时候只传送字段编号,解决了冗余问题,Protobuf使用.proto文件作为schema记录字段和编号的对应关系

gRPC底层使用的HTTP/2协议

HTTP协议本身可以通过Content-Encoding表示压缩算法,使用Contetn-length指定数据长度。

而gRPC重新定义了一套机制,因为gRPC支持stream rpc,流式接口。

gRPC支持三种流式接口,请求流,响应流,双向流。

请求流可以在RPC发起之后不断发送新的请求消息,此类接口最典型的使用场景事发推送或者短信。

相应流可以在RPC发起之后不断接受新的响应消息,最典型的场景就是订阅消息通知

双向流可以在RPC发起之后同时手法消息,最典型的场景就是实时语音转字幕

为了实现流式传输,gRPC引入Length-Prefixed Message同一个gRPC请求的不同消息共用HTTP头信息,只能给每个消息单独加一个五字节的前缀来表示压缩和长度信息。gRPC还定义了自己的grpc-status和grpc-message

HTTP/1.1也是支持复用TCP连接的,但这种复用有一个明显的缺陷,所有请求必须排队,先到先服务。

HTTP/2引入了stream的概念,解决了TCP链接复用的问题,可以在一条TCP连接上并行收发HTTP消息,而无需等待。

即gRPC为了实现流式特性,使用了HTTP/2进行通信。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
高考为什么不能补报志愿? 帮我翻译一句话“不管多久以后,不管世界变成什么样子,我都是哪个最骄傲... 温州到周口的大巴车经过台州路桥客运中心那里吗? 微信怎么设置看不到微信号 不想让微信号显示出来怎么办 2021年大学教师资格证报名费用 大埔教师资格证报名网 大埔县教育局办教师资格证需要准备哪些资料? 深情触摸2016百度云链接 求深情触摸百度云分享 go语言grpc的stream 使用 GRPC的理解 2023年青岛居民医保缴费标准 洁开头的成语接龙 ...输入点Skidrow与动态链接库ubiorbitapi_r2_loader.dll上。我的电脑... 孤岛惊魂3 无法定位程序输入点 Skidrow 于动态链接库 skidrow.dll上... ...库C:\Windows\System32\ubiorbitapi_r2_loader.dll上 什么是mini skid loader skid steer loader 哪家生产的最好 滑移装载机的概述 lol美服可以双排吗 华为P40真机亮屏图首曝:堪称最丑挖孔屏手机! 革命烈士诗歌朗诵稿 姓安的男孩起什么名字好 狂野!黄蜂小将获9700万,哈登放话全联盟,新赛季球队实力榜出炉_百度知 ... 快船还是架不住小卡的“威逼”!他就是伦纳德要的组织后卫啊 看了罗齐尔的这个球,很多人应该佩服乔丹的眼光了吧 4年9700万!突破+三分!湖人交易欧文失败最佳替代者,不用出首轮 2000万没了?首发也没了?命中率38%+34%,4年的努力化为灰烬 同样是小个子后卫,为何罗齐尔4年9700万,施罗德只能拿中产? 窟窿桃核寓意 ...自以为是“幽默”,毁掉自己的前程,大兵咋样了? “相声演员”大兵的毁灭史,从一夜爆红到无人问津,他做了什么?_百度知 ... 营养科医生的年夜饭菜单来了!你知道怎么搭配最健康吗? 辅食菜单来了 电脑怎么自动跳出亮度及对比度的那个菜单来了啊 Qq里聊天聊着。他的头像就跑到我的主菜单上面来了。,怎么弄? 我的海信电视最近不停弹出菜单来是什么问题? 摩托罗拉ME600 老自动跳出菜单来怎么回事是不是摔坏了,都能有,就是... 35岁护肤品排行榜10强 王者营地里面怎么加游戏好友 王者营地怎么用游戏昵称加好友? 原神追想练行满分攻略 原神追想练行满分攻略怎么玩 原神满命行秋配队攻略 游戏原神满命行秋配队攻略 南方和北方地区的矿产种类 和 产地 影响 北方矿业有限责任公司博士待遇 怪物猎人2g 狱炎石哪里挖吖? 虾米音乐为什么电脑下歌要钱 而手机却不用?难道格式不同吗? 虾米音乐有手机客户端了,超开心,一直以来的忠实粉丝。。。就是搜索咋... 问个虾米音乐手机客户端下载问题,这恶心的玩意,收费给用户下载盗版音乐... 思想决定行为,行为决定结果