gRPC的流量控制不是
TCP
层的,而是在http2
上gRPC
封装的流量控制,客户端、服务端双向流量控制,当对端的发送速率大于自己处理能力,需要进行流量控制,当接收方有能力继续处理则通知发送方继续发送,发送方与接收方协商发送速率使用的是WindowUpdate
帧。
本系列gRPC学习大纲:
1.gRPC有三种流量控制方式
1)BDP
估算和动态流量控制窗口:检测在发送ping
与接收到ping ack
这段时间T,统计接收到的数据总量,经过一系列的计算,最终估算是否要调整滑动窗口。
2)connection control
:针对connection
进行流量控制,接收方维护发送的配额值(默认64K
),发送方-发送数据配额值减少,接收方-发送WindowUpdate
帧,配额值增加。
3)stream control
:针对stream
进行流量控制,与connection control
相似,不过是每个stream
维护一个配额的数据结构。
注意&#x