搞懂分布式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关键特性:超时、重试、拦截器、命名解析、负载均衡、安全连接

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值