gRPC有4种接口类型:
- Unary RPC (一元RPC)
- Server Streaming RPC ( 服务器流式RPC)
- Client Streaming RPC ( 客户端流式RPC)
- Bidirectional Streaming RPC (双向流式RPC)
对于底层的HTTP/2而言,这些都是数据流Steam,我们所说的接口类型是指进行一次gRPC调用的数据通讯流程(或数据流Stream的生命周期)。
1. Unary RPC
最简单的RPC类型,客户端发送单个请求并返回单个响应

image.png
2. Server Streaming RPC
服务器流式RPC类似于我们的简单示例,只是服务器可以返回多个响应信息。一旦客户端拥有所有服务器的响应,客户端就会完成。

image.png
3. Client Steaming RPC
客户端流式RPC也类似于我们的简单示例,只是客户端向服务器发送请求流而不是单个请求。服务器发送回单个响应。

image.png
4. Bidirectional Streaming RPC
在双向流式RPC中,客户端和服务器可以按任何顺序独立的读写数据流。服务器可以在收到所有的请求信息后再返回响应信息,或者收到一个请求信息返回一个响应信息,或者收到一些请求信息再返回一些请求信息,等等都是可以的。

image.png
作者:butters001
链接:https://www.jianshu.com/p/88b601121ac5
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。