gRPC 如何知道客户端是否受到限制

在 gRPC go 中,我如何知道客户端是否受到服务器的限制。有什么活动我可以听观察吗?

就我而言,我使用的是简单的一元。

我使用了 tcpdump 并检查了窗口更新事件的频率,但我想可能有更好的方法来做到这一点。


慕码人2483693
浏览 91回答 1
1回答

小怪兽爱吃肉

Channelz 可能有你想要的:https ://github.com/grpc/proposal/blob/master/A14-channelz.md#socket-data您需要制作一个服务器:https ://pkg.go.dev/google.golang.org/grpc@v1.44.0/channelz/service#RegisterChannelzServiceToServer ,并使用 grpc 客户端读取数据(例如https:// github.com/grpc-ecosystem/grpcdebug)如果我没记错的话,当流量控制窗口耗尽时它不会发送信号。但它会出于调试目的打印窗口大小。请注意,窗口更新事件的频率并不表示客户端是否在流控制上被阻止。窗口更新是定期交换,以跟踪流量控制窗口。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go