我想知道 Go 中的客户端流 gRPC 服务中的流量控制是如何工作的。
stream.SendMsg()
具体来说,我有兴趣知道何时会调用客户端块中的函数?根据文档:
SendMsg() 会阻塞,直到:
有足够的流量控制来调度 m 的传输,或者......
那么流的流控机制规范是怎样的呢?例如,如果负责从流中读取消息的服务器端代码读取消息的速度不够快,那么什么时候会调用 SendMsg() 块?
服务器是否实现了某种反压机制来告诉客户端它还没有准备好接收更多数据?与此同时,在反压信号之前已经成功发送的所有消息都在哪里排队呢?
千万里不及你
慕的地6264312
相关分类