和普通的http相比gRPC有什么好处?
目录
RPC的全称是remote procedure call。
生态优势
rpc没有对具体的编码和解码进行规定,在rpc生态中,有很多rpc框架,google的grpc,阿里的dubbo等,都是对rpc的一种实现,其中grpc出身名门,有大厂背书,并且可以跨语言(dubbo不行),并且gRPC还有Nginx的加持,可以很方便的进行配置证书、负载均衡。由于gRPC是基于HTTP/2的,因此通常只要支持HTTP/2的软件/框架,自然都支持gRPC。
性能优势
-
Protobuf
grpc的传输使用Protobuf编码,protobuf的压缩率非常高。
-
HTTP/2
开发优势
-
强类型
gRPC是一个强类型语言,在写的时候编译器会帮助开发者检查很多东西,只有编写的文件都符合了要求,才能运行。
-
自动生成SDK
缺点
- gRPC虽然快,但是一般的场景用不到,只有一些头部大厂会用到
- 对于web端的支持不成熟
- gRPC相比较于RESTful生态还不够健全,调试工具比较少