上节阐述失败重试Retry的工作原理以及源码分析,本节编写客户端、服务端代码进行测试。
本系列gRPC学习大纲:
目标:
1)访问服务端SayHello,前四次返回错误状态码,第五次成功。
2)客户端配置Retry策略,重试6次。
1.客户端代码
第一次重试时间: random(0, initialBackoff)
第 n 次重试时间: random(0, min( initialBackoff*backoffMultiplier**(n-1) , maxBackoff))
1)代码从learn01 复制到learn06
2)定义retry策略
Name
必须存在- 如果
Name
中Service:""
,表示应用到所有ServiceName - 如果Service指定到特定的
ServiceName
,则retryPolicy只应用在该ServiceName
- 如果Service指定到具体的
Method
,例如:"/Greeter/SayHello"
,则retryPolicy
策略应用到