Golang gRPC Retry 未生效,不知是哪的问题,请教大佬,谢谢。

发布于 2022-09-12 22:20:18 字数 802 浏览 19 评论 0

题目描述

使用 grpc.WithDefaultServiceConfig(RetryPolicy) 重试不生效。

题目来源及自己的思路

client

// 设置 retry 配置
grpc.WithDefaultServiceConfig(RetryPolicy),
// 重试配置
var RetryPolicy = `{
"methodConfig": [{ "name": [{"service": "hello.Hello"}], "waitForReady": true, "retryPolicy": { "MaxAttempts": 4, "InitialBackoff": "0.1s", "MaxBackoff": "1s", "BackoffMultiplier": 2.0, "RetryableStatusCodes": [ "UNAVAILABLE" ] } }]}`

server

func (h *HelloController) SayHello(ctx context.Context, in *hello.HelloRequest) (*hello.HelloResponse, error) {
   return nil, status.Errorf(codes.Unavailable, "Unavailable")
}

你期待的结果是什么?实际看到的错误信息又是什么?

调用 SayHello 期待会出现重试,实际上没有重试。

请大佬指点,感谢!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文