重试机制

pic 会对指定的错误进行请求重试。其中, - 默认是指对==error==和==timeout==重试; - 在不指定==non_idempotent==时,知会对GET等幂等操作进行重试; - 可以通过==off==关闭重试机制!

实际这里还有proxy_next_upstream_timeout,proxy_next_upstream_tries可进行更精细的控制。具体可参考Nginx官网-proxy

异常检测

pic pic 这里可以通过server的参数,检测上游节点的有效性,其中,
- max_fails:在特定时间区间内(fail_timeout),跟上游通信失败的次数(==连续==),进而作为识别上游服务异常的依据,默认情况下为==1==!设置为==0==时,则关闭检测功能,认为后端永久有效;具体失败的场景,由proxy_next_upstream配置决定; - fail_timeout:1,指定通信失败计数的时间窗口;2,指定上游服务被剔除后的静默时长。

其他具体信息可以参考Nginx官网-uptream和[Nginx官网-healthcheck

扩展

官网的文档也值得反复研究,目前只是这个功能涉及的少数相关配置,而nginx本身有非常丰富的功能,有必要进行更全面的科普,进而提升nginx的应用能力以及问题的定位效率!