过去几个月里,#xxx崩了#这个话题频繁出现在热搜榜上,让不少程序员小哥哥瑟瑟发抖。
从疫情宅家时期著名的视频APP“三连崩”,到全面复工开课后的在线教育平台与办公软件频繁宕机,再到报复性消费引发的点餐系统接连“爆炸”,程序员们轮番上阵,或紧急扩容或抢修Bug,全力以赴将应用复活。然而,伴随着越来越多的通过网上处理业务,这种平台瞬时崩溃的情况绝不是最后一次出现。
你的APP为什么而崩?
如果我们把服务器比喻成一个景区,由于该景区在五一期间免费迎客,游客蜂拥而至,景区没有预计到会有如此汹涌的客流,也没有做好相应的应对措施,最终导致景区人满为患,游客无法正常享受游玩、餐饮等服务,整个景区瘫痪了,景区外的游客也只能被拒之门外了。
对于线上的业务上来说,排除掉后端架构复杂度和基础设施层面的问题,很多情况下“崩了”都是由于活动推广期带来业务突发性增长,瞬时流量激增、服务器承载压力过大而导致的。究其原因,实际上是没有针对业务的情况和自身服务能力,提前做好容量规划和应急预案。当突如其来的流量降临,比如用户增长和流量攻击,无法做到弹性扩容和攻击防护,业务就很难平稳运行了。
如果有了CDN呢?
如果有了CDN,就可以起到很好的分流作用。假设淘宝只有一台服务器A在运行,所有用户都从这台A服务器下载资源(html、js、css等),这些静态资源的访问请求会给A服务器带来巨大处理压力。但如果淘宝事先把这些静态资源调度分流到全国各个地方的网络节点上(服务器B、C、D…),用户访问的时候实际是从距离最近的服务器N下载资源的,如此一来服务器A的压力就有所减轻,也就降低了因瞬时访问过大这一因素而导致的系统崩溃的可能性。
再举个例子,在体育或者游戏赛事直播中,总决赛往往是最令人期待的,直播平台也因为要承担高并发访问,一旦带宽不足,用户的观看就会产生卡顿、延时、评论刷不出来、连麦不成功,甚至最后直播直接瘫痪,用户无法观看。CDN作为内容分发网络可以为直播分发提供流畅的播放下行链路,借助负载均衡系统将将主播端采集的音视频数据推送到接近用户的数千个边缘节点,当观众端发起请求,就可以就近取得资源,减少网络抖动风险,增加直播链路稳定性,减少直播崩溃的可能性。
所以,其实你的APP崩了可能并不是CDN的原因,但是用了CDN会帮助你规避掉一些“业务崩溃”的风险时刻。这也是企业为什么在大型活动之前,通常都会选择节点与带宽储备充足、稳定可靠、运维性能强大的CDN平台来合作,扛住流量峰值的原因了。
阿里云CDN的稳定性和性能都是经过历年天猫双11和春晚等大型活动的充分生产压测的,可以确保客户能够平稳、顺畅地完成属于自己的“双11”。其中智能流量分析系统,可提前10分钟对全网流量进行预测,保障资源池的合力连通度,在应对突发的大流量的同时,实现节点间流量的快速负载均衡,整个过程分钟级生效,确保平台在突发带宽下能平稳度过流量洪峰。
在【CDN百科】专栏中,我们会不断科普CDN知识,解读CDN实践,分享CDN案例,如果你也关注CDN、使用CDN,请留言回复你关心的话题
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。