您现在的位置是:首页 >学无止境 >搞懂分布式RPC开源框架-gRPC网站首页学无止境

搞懂分布式RPC开源框架-gRPC

在三年之后 2023-06-04 12:00:02
简介搞懂分布式RPC开源框架-gRPC

搞懂分布式RPC开源框架-gRPC

1、 rpc解决了什么问题,与消息队列应用场景比较

rpc(远程调用方法):请求回应

分布式系统远程调用的socket网络问题 ----------------> 消除端到端交互问题

业务场景:

rpc:紧急的任务、同步地处理
kafka消息队列:不紧迫的非必要的任务(比如短信服务, 异步解决问题。

2. grpc组成和service API

grpc 组成:http 2.0 + protobuffer

http1.0 提供长连接 请求回应的模式
http1.1 pipeline 可以发送多个请求得到多个回应
http2.0 stream传输的 、可以想回应的时候回应。随时随地,采用分帧。

分布式系统采用不同的语言,要跨语言(c++x)、解压缩要快、数据流小(json、xml x)、msgpack要压缩kv、protobuffer只压缩v;
在这里插入图片描述
对于整数,极大的压缩。
在这里插入图片描述

grpc service API

1 、unary api 一元普通模式:
一个请求,一个回应;
在这里插入图片描述

2、client stream api客户端流模式
多个请求,一个回应,服务端会将多个请求汇总成一个流;
在这里插入图片描述

3、server stream api服务端流模式
serve端任务繁重,一个请求会有多个返回;
在这里插入图片描述

4、bidirectional stream api 双端流
多个请求,多个返回值
在这里插入图片描述
C++:
同步阻塞的调用
异步非阻塞的调用(callback)

4、grpc关键特性:超时、重试、拦截器、命名解析、负载均衡、安全连接

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。