CDN节点运维下线说明

问题场景

阿里云CDN产品在全球拥有3200+节点,覆盖70多个国家和地区,为了确保这数量庞大的CDN节点能够正常运行,以及提供更好的加速服务,阿里云CDN的工程师团队需要不定期对部分CDN节点进行运维操作,例如:硬件设备升级、软件版本更新、网络割接、线路切换等,运维操作期间通常会下线节点。虽然阿里云CDN会采取多种措施来降低节点下线对用户的影响,但是由于本地运营商以及客户端均存在DNS缓存,因而部分客户端可能仍然会访问到已下线节点,导致访问失败的现象。

问题影响与阿里云的优化措施

阿里云CDN产品在全球拥有3200+节点,日常的节点运维操作是一种正常的维护升级行为(符合CDN 服务等级协议中的服务可用性承诺),为了尽可能减少节点运维操作对客户端正常访问的影响,阿里云CDN的工程师做了许多的优化措施,包括但不限于以下这些:

  • 节点运维并发数量:同一时间进行运维操作的节点数量会控制在一个非常小的量级,以尽可能缩小下线节点潜在的客户影响面。

  • 节点运维时间:节点运维操作通常会避开业务高峰时间段(业务高峰时间段通常在夜间19:00~23:00),大多数的运维操作是在凌晨业务低谷时间段进行。

  • 节点流量调度:阿里云CDN节点的运维操作有一套规范的处理流程,对于需要运维的节点,阿里云CDN的调度系统会在下线节点之前把流量调度到周边正常运行的节点上。

  • 异常情况监测:阿里云CDN节点也可能会因为一些少量的异常情况(例如:运营商线路故障、数据中心机房故障等)而出现计划外的下线。对于这一类问题,阿里云CDN产品的调度系统提供了对所有节点的探测监控,一旦发现节点异常下线,会实时把对应节点上的流量调度到周边正常运行的节点上。

用户侧优化措施

虽然阿里云CDN采取了多种措施来降低节点下线对用户的影响,但是由于本地运营商以及客户端均存在DNS缓存,因而部分客户端可能仍然会访问到已下线节点,导致访问失败的现象,针对这一问题,用户侧可以采取以下优化措施来进一步降低影响:

优化方式

详细说明

清理本地运营商DNS缓存

阿里云解析DNS产品联合中国电信推出了“中国电信DNS缓存刷新”服务,该服务可以在电信运营商DNS端即时的清除本地缓存信息,并获取最新的解析结果,从而实现电信运营商侧的解析快速生效,具体请参见中国电信DNS缓存刷新

DNS联动刷新

阿里云解析DNS为了减少解析生效时间,与阿里云公共DNS配合,发布了联动刷新功能,能够将解析生效时间显著减少到5秒以内,具体请参见DNS联动刷新功能介绍

清理客户端DNS缓存

  • Windows系统:在开始菜单的搜索文本框中键入cmd,打开“命令提示符” 窗口,输入命令ipconfig /flushdns,然后按回车键。

  • macOS系统:打开“启动台-终端”,分别输入命令sudo dscacheutil -flushcachesudo killall -HUP mDNSResponder(不同版本的macOS系统的命令可能会略有差异)。

使用HTTPDNS技术

您需要在客户端上集成HTTPDNS技术,采用HTTPDNS这项技术可以使客户端绕开运营商的本地DNS,直接采用HTTP协议去访问阿里云CDN的调度系统,请求待访问域名的最优接入节点,这样可以规避运营商本地DNS缓存所带来的节点切换时延问题。