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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。