gRPC 基础与 API 开发实战
1. RPC 生命周期探索
不同类型的服务定义有着各自的生命周期,下面来详细了解各类服务定义的生命周期。
1.1 一元 RPC(Unary RPC)
一元 RPC 是服务方法中最简单的形式,客户端和服务器都只发送单个对象。其工作流程如下:
1. 客户端发起一元 RPC,调用存根(stub)方法。
2. 存根通知服务器 RPC 调用已发起,同时提供客户端的元数据、方法名以及指定的截止时间(若适用)。元数据是以键值对形式存在的关于 RPC 调用的数据,如超时和认证细节。
3. 服务器响应,发送其初始元数据。服务器可以在收到客户端请求消息之前或之后发送初始元数据,具体取决于应用程序,但必须在发送任何响应之前发送。
4. 服务器处理请求,在收到客户端请求消息后准备响应。对于成功的调用,服务器会返回带有状态(代码和可选消息)以及可选尾随元数据的响应。
5. 客户端接收响应,完成调用(状态为 OK 时,类似于 HTTP 状态 200)。
1.2 服务器流式 RPC(Server - Streaming RPC)
服务器流式 RPC 的生命周期与一元 RPC 基本相同,步骤一致,唯一的区别在于响应的发送方式。由于是流式响应,服务器会以流的形式发送消息,直到所有消息发送完毕。最后,服务器返回带有状态(代码和可选消息)以及可选尾随元数据的响应,完成服务器端处理。客户端在收到服务器的所有消息后完成生命周期。
1.3 客户端流式 RPC(Client - Streaming RPC)
客户端流式 RPC 的生命周期也与一元 R
超级会员免费看
订阅专栏 解锁全文
725

被折叠的 条评论
为什么被折叠?



