玉儿做春梦网站,西安网站建设咪豆,买的虚拟主机怎么做网站,物价局网站建设情况汇报参考文章#xff1a;
聊聊gRPC的特性和背后设计的原则#xff08;一#xff09;-腾讯云开发者社区-腾讯云 grpc-我们为什么要用gRpc#xff1f;gRpc快在哪里#xff1f;_grpc 优点-CSDN博客 GRPC详解-CSDN博客
1. 什么是gRPC gRPC 是一个高性能 远程调用(RPC)框架#…参考文章
聊聊gRPC的特性和背后设计的原则一-腾讯云开发者社区-腾讯云 grpc-我们为什么要用gRpcgRpc快在哪里_grpc 优点-CSDN博客 GRPC详解-CSDN博客
1. 什么是gRPC gRPC 是一个高性能 远程调用(RPC)框架屏蔽分布式计算中的各种调用细节可以像本地调用一样调用远程的函数。
2. 为什么要用gRPC
(1) 性能高使用 protobuf性能高于json(快6倍) 使用 http2.0性能高于 http1.1
(2) 生态好开源而且背靠Google连nginx都支持gRPC
(3) 强数据类型编译环节就帮助避免了数据类型问题。
(4) 跨语言同一个协议文件(.proto)不用修改可以使用在多种语言上包括 go,java,c
3. 使用方式
(1) gRPC 通过 protocol buffers (.proto文件) 来定义接口接口由服务端和客户端共同使用。
(2) 服务端将方法或者类注册到服务中。
(3) 客户端只要连接成功就可以调用注册进服务的接口把请求发到服务端并获得返回。
4. 为什么protobuf比json快 主要是因为数据结构节省空间具体包括
(1) 无需分隔符存储了字段的类型可以直接计算出value的长度无需匹配分隔符。
(2) 空字段省略若字段没有被设置数字值不需要进行编码。json需要传key和空值value。
(3) 二进制keykey 用字段的数字值转换成二进制表示比json的key用字符串表示节省空间。
5. http2.0为什么比http1.1性能高
(1) 多路复用
http1一次请求一个响应建立一个连接用完关闭每一个请求都要建立一个连接。
http2多个请求可并行执行某个请求任务耗时严重不会影响到其它连接的正常执行
而且http2 减少了连接数避免了频繁重建tcp改善网络拥塞情况。
(2) 数据压缩
http1文本格式
http2二进制格式并且对body进行gzip压缩。
(3) 二进制分帧
http1以分隔符分割消息的数据必须按顺序发送在完成之前不能停止。
http2将所有传输的信息分割为更小的消息和帧可以乱序发送然后根据每个帧首部的流标识符号进行组装。
(4) 支持服务器主动推送
http2 主动推送资源节省前端的请求次数。
6. 同步和异步 gRPC同时支持同步调用和异步调用。 同步RPC调用时会一直阻塞直到服务端处理完成返回结果。 异步RPC是客户端调用服务端时不等待服务段处理完成返回而是服务端处理完成后主动回调客户端。
7. 负载均衡 gRPC并没有直接实现负载均衡的功能但是提供了负载均衡的接口。