GRPC

Retries 问题

java 自动生成的 client 默认不会开启retry 模块. 需要主动设置 retry 配置. 而官方建议在 UNAVAILABLE 的 status code时, 一般会采用 retry 来解决.

如果使用 k8s dns 解析 service name 来获取 ip. 会导致 stub 只与一个 server 保持长连接. 导致负载不均衡. 而启用了 dns resolver 会定时 reset connect 来实现负载均衡. 但是会带来某个请求还没完成时就被重置了, 导致 connect reset peer 异常. 这时候需要使用 retry 机制来解决.


Refer

grpc client-retries

你可能感兴趣的:(GRPC)