在全球范围内对CDN加速域名进行优化, 其核心的路径就是按照顺序完成以下这四个方面的工作, 也就是先要把DNS解析给收敛掉, 然后再去配置智能调度策略, 接着要规范域名CNAME指向的最后还得把回源链路加以压缩, 只要把这四步操作形成一个闭环的状态, 那么就可以非常显著地把终端用户访问时的延迟感给降低下去呢, 下面呢我们就从官方运维标准的角度出发了, 然后来把各个操作要点一个个地都说清楚一下。
DNS解析优化
对于CDN域名的DNS记录来说, 必须统一使用CNAME这个类型。需要把业务域名, 也就是像api.gname.xin这样子的地址, 指向到CDN服务商那边提供给你的加速域名。坚决不允许使用A记录直接把源站的IP地址写上去。关于解析记录的TTL值, 建议大家把它设置在600秒以内。
这样做的原因是为了确保区域节点的IP发生了变更之后, 能够使得全网在10分钟之内完成生效的操作。
同时还需要去做一个分线路解析的配置工作, 这个配置的具体做法是, 要把国内线路、海外线路以及移动电信联通这些不同的线路分别去绑定到对应的那些边缘节点集群上去, 这么做的目的是为了要避免出现跨区访问这样的状况。
全球节点调度策略
调度层这边需要将那个结合了地理位置、运营商还有实时负载这三样东西的三维调度模型给启动起来, 对于亚太区这个包含中国大陆以及东南亚的区域, 这里要部署不少于3个PoP节点, 并且要把覆盖延迟在20ms以内的范围给它圈出来, 欧美区至少要有2个PoP节点在这里面, 而且要把覆盖延迟在25ms以内的范围给划出来, 南美与非洲这两块地方就可以去复用离它们最近的邻接节点了, 调度权重每过30秒就要刷新一次, 如果在运行的时候, 发现某个节点的QPS数值超过了容量上限的80%, 那就自动进行降级处理, 然后就会把流量切换到不那么理想的那个节点上去。
域名配置规范
当人们在使用CDN控制台创建加速域名的时候, 是需要去遵守一些标准的。
<强>注意在设置域名的时候, 层级最好是不超过三级, 比如写成static.gname.xin这一种的形式, 这样做的好处是可以避免因为层级太深而出现解析上的歧义。
先把HTTPS功能给开启掉, 然后再把TLS 1.3这个具体的传输层安全协议版本去配置好, 至于说那个证书呢, 就采用通配符的模式来处理, 这样就可以把包括所有子域在内的各种情况都给覆盖住。
这个缓存策略是按照文件的类型来划分层级的, 对于HTML文件, 设置的是10秒, 对于JS和CSS文件, 设置的30分钟, 对于静态资源, 设置的是7天。
启动Brotli压缩功能, 并且配置HTTP/2多路复用技术, 这样能够达到减少首包等待时间的目的。
回源链路压缩
回源带宽这个东西, 是那种能够让内容分发网络的成本还有它的稳定性变成一个关键变量的因素。标准的那些做法, 就是下面这样。
1. 在源站上部署Gzip或者Brotli这种预压缩技术, 然后让CDN的边缘节点直接就把这些数据透传出去, 这样做就能够避免掉重复进行计算这件事。
2. 在回源的时候, 要强制去使用HTTP/2或者是HTTP/3(QUIC)协议, 以此来把TCP握手的那个开销给降下来。
3. 把回源超时这个阈值设置好, 让第一个数据包在1秒内到不了就算超时, 让整个请求在5秒内处理不完也算超时, 只要发生了超时的情况, 就马上启动健康检查, 把这个出问题的节点给摘掉。
4. 在大文件的场景下, 启用Range回源功能, 这样做的好处是可以对内容进行分段按需拉取, 从而减少那些无意义的无效流量。
高频疑难与处理
验证与监控
在优化上线以后, 我们要使用那个第三方的拨测工具去做全链路的延迟测试呢, 这个工具要覆盖到不少于八个国家还有那四类运营商, 目标就是那个P95延迟要比优化之前下降百分之四十以上, 同时在CDN的监控面板里面要把命中率、回源率还有那个五千次比例这三项告警给设上, 那阈值分别是百分之八十五、百分之十五还有百分之零点五%, 一旦触发的话, 要在十分钟之内去响应。
上述的内容乃是关于CDN加速域名从进行配置一直到开展运营这样一个完整的过程里面的标准, 按照这个次序来一步一步执行, 就可以构建起一个稳定且延迟还比较低的, 在全球范围内都能实现加速的体系。


