本小节简单介绍一下客户端keepalive的原理。
1、客户端keepalive的原理图
客户端keepalive功能:
- 主要是提供了针对是否接收到服务器端发送过来的数据的处理逻辑
- 不提供针对链接处于idle状态,或者链接运行时长超过规定时长的处理逻辑。
2、客户端keepalive源码分析
2.1、客户端何时触发keepalive功能启动呢?
跟服务器端建立链接的过程阶段,启动的keepalive功能。
进入grpc-go/internal/transport/http2_client.go文件中的newHTTP2Client方法里:
1.func newHTTP2Client(connectCtx