2016年双十一,速器我蹲点抢限量球鞋。速器页面转圈圈,速器转了三分钟,速器鞋子没了。速器后来查了下,速器我访问的速器服务器在杭州,而我在北京——数据包要跨越大半个中国,速器光缆里跑一个来回,速器物理时间就卡死了。速器
那时候我才意识到,速器网速的速器瓶颈不在你家宽带,在“距离”。速器CDN加速器干的速器事,说白了就是速器把内容“搬”到你身边。你在北京看视频,它把视频文件提前放在北京本地的机房;你在广州刷网页,它就放在广州。你访问的其实不是源站,而是离你最近的那台缓存服务器。
有个朋友在视频网站做运维,他讲过一个细节:春节晚会直播那晚,全国流量峰值是平时的十倍。如果没有CDN,源站服务器早就被挤爆了。但CDN节点分布在各省级运营商机房,每个节点只承受自己区域的流量,压力被拆成碎片,谁也压不垮。
技术上没多玄乎。核心就是“缓存”和“调度”。缓存是复制,调度是找最近的路。你打开一个图片,CDN的调度系统会根据你的IP地址,算出你离哪个节点最近,然后让你去那个节点取数据。整个过程毫秒级完成,你根本感知不到。但如果你访问的网站没上CDN,那每一次请求都得跑源站——遇到晚高峰,光缆堵车,页面就卡成PPT。
有个反直觉的事:CDN不单单是“快”,它还能“扛揍”。前几年某电商平台遭遇DDoS攻击,流量洪水涌向源站——但源站IP被CDN挡住了,攻击流量全打在CDN节点上。节点是分布式的,你打瘫一个,其他节点照样服务。攻击者最终无功而返。这就像你家装了防盗门,小偷撬门发现门后还有一堵墙。
当然,CDN不是万能的。动态内容——比如你登录后的购物车、实时聊天消息——这些没法缓存,必须回源计算。所以现在CDN厂商都搞“动态加速”,通过优化网络路由和TCP协议,让回源路径也尽量短。但本质还是治标,真正的实时交互,还得靠边缘计算。
我自己后来买了个海外网站的会员,加载速度慢得离谱。后来发现那个网站只接了欧美节点,亚洲区域没覆盖。我试着挂了香港代理,速度立刻上去。这说明CDN的节点分布决定体验上限,不是所有加速器都“一碗水端平”。
现在连小破站都上CDN了。你刷短视频,卡不卡,很大程度上取决于你所在城市有没有热门节点。运营商推的“智能加速”服务,背后也是租用CDN厂商的带宽。这行当已经卷到按毫秒计费,但用户感知的,永远只有那一下“唰”地加载完的爽感。
回头想那年的球鞋,如果当时网站接了CDN,我大概能抢到——但可能也会被黄牛脚本抢走。技术解决速度问题,解决不了手速问题。这大概就是现实。