> 文章列表 > 搞懂分布式RPC开源框架-gRPC

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

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

搞懂分布式RPC开源框架-gRPC
rpc解决了什么问题,与消息队列应用场景比较
rpc(远程调用方法):请求回应
socket网络问题 ------> 消除端到端交互问题

业务场景:
rpc:同步地处理
消息队列:不紧迫的非必要的 异步解决问题 ,比如短信服务。

  1. 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;
搞懂分布式RPC开源框架-gRPC
对于整数极大的压缩
搞懂分布式RPC开源框架-gRPC
grpc service API
1 、unary api 一元普通模式:
一个请求,一个回应
搞懂分布式RPC开源框架-gRPC

2、client stream api客户端流模式
多个请求,一个回应,服务端会将多个请求汇总成一个流;
搞懂分布式RPC开源框架-gRPC

3、server stream api服务端流模式
serve端任务繁重,一个请求会有多个返回
搞懂分布式RPC开源框架-gRPC

4、bidirectional stream api 双端流
多个请求,多个返回值
搞懂分布式RPC开源框架-gRPC
C++: 同步阻塞的调用异步非阻塞的调用(callback)

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