start
N
End
curl成功
允许设置降级缓存
否
Y
成功
尝试curl缓存
失败
fail/(fail+ok)=failRatio且fail+ok=tryTimes
数据为空
++ok设置降级缓存
动态前端curl自动降级/垫底机制流程图
是
否(返回false)
timeendTime
++degrade(最多6次连续降级)endTime=now+degrade*5minok=fail=0
degrade=0
是否降级
ok+fail=tryTimes
ok=fail=0
返回数据
启用降级
命中降级缓存
更新curl缓存
++fail
防御式缓存有效期24小时
取降级缓存
curl
用户自定义缓存生命期短
degrademax
endTime=0