grpc-go源码剖析七十四之什么情况下服务器端通知客户端,双方关闭链接?(goAway帧处理逻辑)

本小节主要想分享的是
服务器端向客户端发送goAway帧的逻辑,以及客户端是如何处理goAway帧的?

达到的效果就是关闭连接。

1、服务器端跟客户端交互处理goAway帧的流程图

可以通过下图,简单了解服务器端跟客户端是如何处理goAway帧,是互相交互的过程。
grpc-go源码剖析七十四之什么情况下服务器端通知客户端,双方关闭链接?(goAway帧处理逻辑)_第1张图片

主要流程说明:(在启动keepalive的场景下)
服务器端在处理goAway帧时,最多会经历三个阶段:

第一阶段:
  • 服务器端向客户发送第一个goAway帧;
  • 客户端接收到后:
    • 更新http2Client的状态为draining,
    • <

你可能感兴趣的:(grpc-go源码剖析与实战,golang,grpc-go,grpc-go源码,grpc,rpc)