Untitled

Simple RPC的缺点

Streaming RPC适用场景

某一时刻传输的数据量很大,实时性要求较高时

Streaming RPC类型

Server side streaming RPC 服务端流式

客户端发起一次普通的 RPC 请求,服务端通过流式响应多次发送数据集,客户端 Recv 接收数据集

Client-side streaming RPC 客户端流式

单向流,客户端通过流式发起多次 RPC 请求给服务端,服务端发起一次响应给客户端

stream.CloseAndRecvstream.SendAndClose 是配套使用的流方法,

  1. 客户端会执行stream.CloseAndRecv 通知服务端发送完毕,并获取服务端返回的数据
  2. 服务端判断错误类型为EOF,并执行stream.CloseAndRecv返回客户端数据

Bidirectional streaming RPC 双向流式

由客户端以流式的方式发起请求,服务端同样以流式的方式响应请求

Streaming RPC方法

SendMsg 方法主要涉及以下过程