后端开发为什么使用rpc

置顶: 发现一篇文章, share 一下 我们为什么从 REST 转向 gRPC

作为后端开发, 你是否有考虑过这个问题:明明已经有http+restful api + json了,为什么还要上各种rpc框架?

举个简单的例子,以查户口为例:
http + json的形式:
我们写一个http server, 就提供一个接口 GET /persion ,然后返回


20150827163347625.jpeg

···
{
"name":"xiaoerhei",
"age": "28"
}

grpc+pb(非常不准确的格式,意会即可):
name|xiaoerhei|age|28

  1. 少了很无用的http头
  2. 少了json很多无用的分隔符
  3. pb序列化和反序列化的性能比比json高很多

在树莓派上做了简单的对比测试, golang + grpc + pb的方式 比 golang + http server+ json的形式,QPS可以高5~10倍。

你可能感兴趣的:(后端开发为什么使用rpc)