登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-25 14:48:34 361浏览 收藏

在Golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《gRPC 如何知道客户端是否受到限制》,聊聊,希望可以帮助到正在努力赚钱的你。

问题内容

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

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

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


正确答案


Channelz 可能有您想要的内容:https://github.com/grpc/proposal/blob/master/A14-channelz.md#socket-data

您需要制作一个服务器:https://pkg.go.dev/google.golang.org/[email protected]/channelz/service#RegisterChannelzServiceToServer,并使用grpc客户端读取数据(例如https://github.com/grpc-ecosystem/grpcdebug

如果我没记错的话,当流量控制窗口耗尽时它不会发送信号。但它会打印窗口大小以用于调试目的。

请注意,窗口更新事件的频率并不表明客户端是否在流量控制上被阻止。窗口更新是定期交换以跟踪流量控制窗口。

今天关于《gRPC 如何知道客户端是否受到限制》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>