gpt4 book ai didi

grpc-java:设置enableRetry和maxRetryAttempt不是重试

转载 作者:行者123 更新时间:2023-12-02 03:18:44 54 4
gpt4 key购买 nike

Grpc 客户端未重试并因 UNAVAILABLE: io 异常而失败。目前我正在设置重试和 maxRetryAttempt,如下所示:

Channel channel = NettyChannelBuilder.forAddress(address.getTarget(), address.getPort())
.enableRetry()
.maxRetryAttempts(3)
.intercept(interceptors)
.sslContext(context.build())
.build();

io.grpc:grpc-netty:1.18.0支持enableRetry和maxRetryAttempt吗?

谢谢。

最佳答案

enableRetry()maxRetryAttempts() 都不会基于每个方法配置重试。 enableRetry() 启用整个“子系统”,以便遵循配置;最终它将默认启用,但这并不意味着所有方法都会发生重试。并且 maxRetryAttempts() 限制 配置;如果配置说要做 5 次,而您将限制设置为 3 次,那么只会完成 3 次。但它不会增加重试尝试的次数。

我一直提到的“配置”来自服务配置。请参阅gRFC A6 Client Retries对于配置键。默认情况下,服务配置本身目前也未启用。对于重试,最简单的尝试方法是使用 v1.20.0(即将发布)中添加的 ManagedChannelBuilder.defaultServiceConfig(Map serviceConfig)。但您也可以在 DNS 中使用 TXT 记录,并在执行二进制文件时传递 -Dio.grpc.internal.DnsNameResolverProvider.enable_service_config=true

重试和服务配置目前都处于实验阶段。

关于grpc-java:设置enableRetry和maxRetryAttempt不是重试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55428539/

54 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com