又爱又恨的CDN - 我该拿什么来爱你
Re又爱又恨的CDN我该拿什么来爱你
说说我用CDN的经历,以及用来解决什么问题吧
起先,我之前的东家在三四线城市,没有主干线路,更别提主干机房或者双线机房了,服务器是托管在电信机房,因为是电信,你懂的,在非电信网络,打开一张HTML页面慢到你想跳楼,就这样,我们开始摸索使用CDN
可以说,我们主要解决以下问题
一、首先我们用CDN主要解决线路加速问题,也就是说可以让非电信线路的用户访问我们的网站也可以得到在电信线路差不多的速度和体验,当然像阿里云的BGP机房就不用担心这个问题了
二、静态资源可以缓存在各个地区的CDN服务器,减少源服务器的流量压力,让用户的浏览器加载速度更快,源服务器只处理动态内容,同时也可以降低源服务器的带宽使用,源服务器集中优势只专门处理动态的业务流量
三、除了解决CDN在线路上的问题,还有解决一个地区差异的问题,比如说跨地区,即使同一线路的用户也有可能访问速度会慢,毕竟经过的节点多,但CDN网络加载动态内容时,节点网络相对来说会快,而静态资源已经在各个CDN服务器,直接返回给用户,访问速度直线提升
四、如果源节点与CDN的IP进行绑定,也就是说,源服务器只接受来自CDN IP流量的时候,或多或少可以减少DDOS攻击流量,如果CDN服务器有做检测的话,那肯定是可以的
再说说,CDN服务器不好的体验或者用不好的时候,是有多惨
一、CDN缓存策略有好几种,要根据自己的程序特性来选择策略,如果没用好,有可能你更新了新的文件或者静态资源时,CDN节点不为所动,还是老文件
二、曾经碰到过CDN服务器在PC访问,速度很正常,但在手机访问时,就慢得要死,当初排查这个排了很久才知道是CDN的问题,但不知道为什么会有这个问题
三、CDN节点,如果在某些地区节点没有备份节点时,一旦挂掉就会导致当地的用户无法访问,严重影响业务
四、严重依赖CDN服务商的技术力量和服务质量,曾经碰到CDN自己内部节点的DNS解析出问题,让我们当时的业务直接瘫痪
五、最重要的一点,CDN的节点要多,节点不多跨地区访问有时候也是有问题
六、有些CDN不支持SDK或者API来控制或清除缓存,这个也是极其难以忍受的,因为某些原因,需要清除所有CDN节点缓存,从源服务器获取新文件
先说这么多了,有想到再补充
赞0
踩0