gRPC 四种服务类型介绍
电脑版发表于:2020/1/28 20:23
gRPC 有四种服务类型
分别是:简单 RPC(Unary RPC)、服务端流式 RPC (Server streaming RPC)、客户端流式 RPC (Client streaming RPC)、双向流式 RPC(Bi-directional streaming RPC)。它们主要有以下特点:
服务类型 | 特点 |
---|---|
简单 RPC | 一般的rpc调用,传入一个请求对象,返回一个返回对象 |
服务端流式 RPC | 传入一个请求对象,服务端可以返回多个结果对象 |
客户端流式 RPC | 客户端传入多个请求对象,服务端返回一个结果对象 |
双向流式 RPC | 结合客户端流式RPC和服务端流式RPC,可以传入多个请求对象,返回多个结果对象 |
流式 RPC 定义与 简单 RPC 的区别只是在请求或返回参数前增加了 stream 关键词,如下:
service HelloService { // 客户端流式 RPC rpc SayHello1 (stream HelloRequest) returns (HelloResponse); // 服务端流式 RPC rpc SayHello2 (HelloRequest) returns (stream HelloResponse); // 双向流式 RPC rpc SayHello3 (stream HelloRequest) returns (stream HelloResponse);}