分享
2019年05月04日 后端开发为什么使用rpc
王小二黑 · · 1823 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
作为后端开发, 你是否有考虑过这个问题:明明已经有http+restful api + json了,为什么还要上各种rpc框架?
举个简单的例子,以查户口为例:
http + json的形式:
我们写一个http server, 就提供一个接口 GET /persion ,然后返回
20150827163347625.jpeg
···
{
"name":"xiaoerhei",
"age": "28"
}
grpc+pb(非常不准确的格式,意会即可):
name|xiaoerhei|age|28
- 少了很无用的http头
- 少了json很多无用的分隔符
- pb序列化和反序列化的性能比比json高很多
在树莓派上做了简单的对比测试, golang + grpc + pb的方式 比 golang + http server+ json的形式,QPS可以高5~10倍。
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1823 次点击
上一篇:Golang 格式输出符号
下一篇:Go语言从入门到实战
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
作为后端开发, 你是否有考虑过这个问题:明明已经有http+restful api + json了,为什么还要上各种rpc框架?
举个简单的例子,以查户口为例:
http + json的形式:
我们写一个http server, 就提供一个接口 GET /persion ,然后返回
20150827163347625.jpeg
···
{
"name":"xiaoerhei",
"age": "28"
}
grpc+pb(非常不准确的格式,意会即可):
name|xiaoerhei|age|28
- 少了很无用的http头
- 少了json很多无用的分隔符
- pb序列化和反序列化的性能比比json高很多
在树莓派上做了简单的对比测试, golang + grpc + pb的方式 比 golang + http server+ json的形式,QPS可以高5~10倍。