回源重试顺序:
对域名基础信息的源站地址列表内的源站地址按优先级从高到低进行重试。
如果有优先级相同的源站地址,则按权重比例进行重试。
回源重试的颗粒度:
重试是IP地址级别的,如果源站是域名,将会对域名解析出的所有IP地址进行重试,只有域名下的所有IP都连接失败后才会访问其他可用源站。
重试时系统会自动过滤dead table中不可用的源站。
回源重试状态码:
CDN节点在收到源站响应的5xx状态码的时候进行重试。
回源超时时间:在源站主动响应重试状态码时,CDN节点收到重试状态码之后就会重试。如果没有收到源站主动响应的重试状态码,则会遵循回源超时时间处理逻辑,达到超时时间之后就会触发CDN节点重试。
源站TCP建连超时:10秒。
源站写超时:默认为30秒(源站建连后写入内容超时)。
源站读超时:默认为30秒(源站建连后在一定时间内没有把CDN节点请求的内容完整响应回去)。
源站写超时时间和源站读超时时间可以通过配置回源HTTP请求超时时间来调整。
源站探测逻辑:
TCP连接异常:如果CDN节点与源站IP地址之间连续两次出现TCP连接不可用(建连失败或连接超时),CDN会从可用源站地址列表中剔除该源站IP地址,并将该IP地址加入dead table中,这样后续的回源请求就不会去访问这个源站IP地址;此后CDN节点会每隔5秒使用TCP建连去探测一次该源站IP地址,如果建连成功,则将该源站IP地址恢复到可用源站地址列表中。
TCP连接正常:如果CDN节点与源站IP地址之间TCP连接正常,但收到源站响应的重试状态码(例如:5xx),此时虽然会触发重试的逻辑,但该源站IP地址仍然还在可用源站地址列表中,下次访问还会按权重去请求该源站(即TCP四层连接正常的情况下,七层HTTP请求异常不会主动屏蔽源站IP地址,如果需要在七层HTTP请求异常的情况下主动屏蔽源站IP地址,则需要填写信息申请配置)。