偶发503
场景一:使用自定义监控指标功能进行个性化配置,每当配置变更时,日志监控发现少量请求出现503
问题原因
自定义指标功能的逻辑是通过生成一个对应的EnvoyFiter来进行istio.stats的配置更新。该配置在Envoy Listener级别生效,即通过LDS同步生效。Envoy在应用Listener级别的配置时,需要断开已有连接。对应的在途请求因为连接被Reset或Close导致出现503。
解决方案
上游Server主动Close连接时,您看到的503并非上游Server发送,而是客户端Sidecar因为上游连接主动断开,由本地返回的响应。
Istio默认的重试配置中未包含“上游Server主动Close连接”的情况。EnvoyProxy的重试条件中,Reset符合这种情况对应的触发条件。因此,您需要为对应服务的路由配置retry Policy。在VirtualService下的retry Policy配置包含Reset的触发条件。
参考;https://help.aliyun.com/zh/asm/support/common-scenarios-in-which-an-http-503-status-code-is-returned-in-asm?spm=a2c4g.102667.0.i4
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。