导语:这篇文章面向是cdn的首次使用者,什么叫首次使用者,就是对cdn完全不了解,对http也不怎么了解的同学。那么大神的读者,也希望您能瞄一下小弟的文章,看看有什么有问题的地方
介绍下本人,本人只是一个网络写手,在阿里云写文章的时候,就写阿里云cdn,在腾讯云写cdn的时候,就写腾讯云cdn,在华为云写cdn的时候就写华为云cdn,什么aws,akamai,反正就换个修饰而已,所以不代表任何厂商的立场,重在科普罢了
很多人看到腾讯云的cdn各种牛逼的性能,各种牛逼的优势,各种牛逼的介绍,再看到如此低廉的价格,都会热血沸腾,立马打开控制台,把网站接入到cdn。
但是,做任何事情之前,都需要停一停,想一想。
正如本人非常喜欢小护士,但是也总不能三天两头找小护士打针啊。
基于实(qiong)事(穷)求(qiong)是(穷)的精神,什么时候才应该用cdn?以下为几个点必须要先考虑下
一,基于业务。域名下的资源如果都是动态资源,那么不建议接入cdn。
原因有3方面:
1,cdn是一个反向代理 缓存的网元,对于动态资源为了保证业务正常,都是需要代理回源的,也就是说所有的请求都是由源站来响应请求。在这种组合下,没有起到明显的加速效果的情况下,源站和cdn会同时进行收费,源站一份流量费,cdn一份流量费,成本角度上必须要考虑。
但是如果壕不在意的话,壕说:我用cdn时为了优化路由,减少跨网delay,那也不应该用cdn,应该用dsa(阿里云叫全站加速)或者anycast(这个阿里没有)啊
2,腾讯云cdn(几乎所有厂商的cdn)都有一个默认超时时间。对于动态资源的原名,如果数据库慢点,响应超过默认超时时间,就直接回564了,那如果客户端(或者代理)对这种异常状态码的缓存时间设置得比较长,那就凉凉了...要等超时时间过期了之后,业务才恢复,得不偿失。
3,维护成本问题。原本域名下面都是动态域名,也就是说,在业务规划的时候,本身已经做了动静分离了,一旦接入cdn之后,需要在cdn上重新做各种配置,要是配置人员不清楚业务状态的情况下,小则网站排版乱了,大则业务全断。
二,基于业务量。对于那种本身就没多少业务量的域名,不建议接入到cdn上。首先,接入cdn有个前提,就是访问量已经超出源站的的承受范围。那么这种情况下,就需要cdn这种分布式系统减轻源站的压力
三,基于源站性能。接入cdn之后,不是说cdn都把源站的资源都缓存了,那么源站的带宽设置成1M,或者直接关掉源站,都是不对的。
所以,源站本身慢,不能怪接入cdn之后就慢
同时这里也提到一个概念(必须要加粗),在cdn控制台上设置缓存过期配置,不是说设置了一年,资源就在cdn上一年了!!!前文也提到过,cdn是反向代理 缓存,缓存就是临时存储一下,这个一年也是针对热门资源才有效(资源很热的情况下,一年到源站探测一次),谁有能保证资源一年到头很热。对于这个概念,以后我有空会详细说说
一年的云硬盘多少钱,一年的cos多少钱?cdn是不收存储费的,cdn本质是一个公共的平台,需要通过竞争才能留下来,当然也不可能给冷门资源存一年,所以把网站的访问量提上去才是硬道理
四,需要稍稍了解下cdn。cdn是一个解决最后一公里的网元,同时,他是一个继承源站属性的网元,也就是说,如果源站文件属性没有的东西,cdn绝对不会有,而且cdn本质只是一个代理,所以不做任何数据代理
五,cdn可以隐藏源站ip。对于这个功能,很多人会动了歪念头,想着拿cdn来扛攻击,这种情况是很不可取的。
首先,腾讯云的流量再便宜,攻击者不计成本地发起cc,壕也看不住,只要不符合腾讯云的赔偿要求,这部分费用全部由个人承担!!!!绝对比各种高防产品要贵!!!!所以还是乖乖买高防吧
其次,如果攻击影响到腾讯云cdn其他用户的时候,域名会被攻击,所有流量会直接打到源站上,扣钱之余,源站也挂了。一旦被封,基本是没有机会解封的
最后,如果cdn无法隐藏ip,责任一般都不在cdn上,因为隐藏ip的真正原因是dns解析域名之后,解析出来都是cdn的ip,但是如果这个解析没有效果的话,正常情况下,都是运营商的dns刷新时间搞的鬼,或者是dns权威解析存活时间太长导致的。
就这样,以后想起来,再补充