万千争宠-CDN案例篇

万千争宠-CDN案例篇


“六宫粉黛无颜色”,

“万千宠爱在一身”。

得不到CDN的宠爱,不妨给点颜色它瞧瞧!

URL中常常会带有“?”参数,通过“?”也许就可以做到

“?”的第一个作用,传递参数

我们一般请求的URL可能是这样的,http://www.abc.com/flower.png

拿到的图片是这样的

如果通过“?”传递参数,比如,http://www.abc.com/flower.png?color=yellow

就会得到小雏菊,给它点颜色就是这么来的

“?”的第二个作用,对象独立缓存

每一个URL可以理解为一个对象,如jss、css、jpg,就好比是赵钱孙三人

这样一来,赵钱孙都能被CDN宠幸(缓存)

注:这里的赵钱孙都是标配的,即不带“?”参数

既然是对象,那自然就会有对象的属性或特征

如同上面的小白花变成小黄花,赵钱孙带上“?”后,摇身一变,就可以变成你想象的样子

相貌平平的赵变成了英姿飒爽的赵,穷困潦倒的钱变成了腰缠万贯的钱...

小编一直幻想着有这样的属性特征,然而贫穷确实限制了我的想象力

案例回顾

赵钱孙只是一个简单的例子

在实际操作中,对象之多、属性之复杂,CDN是怎么做到独立缓存的?

答案只有一个,就是设立一个Flag,即CDN为“?”后面的query string单独缓存

具体请看下面一则案例

客户反馈某个域名出现窜号的情况

顾名思义,窜号就是A用户能访问到B用户的信息

运营GG(编号001)迅速作出回应

小编感慨,运营GG每次响应都是做得那么潇洒和让人猝不及防

请记住咱们的运营GG(编号001),做事雷厉风行!

运营GG(编号002)为该域名设立一个Flag

这个Flag就是上面提到的,CDN为“?”后面的query string单独缓存

几个意思?就一个意思,CDN能为同一对象的不同属性单独缓存

拿赵钱孙这仨来说,CDN最初可能只缓存了这三位仁兄的标配版

http://www.abc.com/赵

http://www.abc.com/钱

http://www.abc.com/孙

哪天,赵变胖了、钱变穷了、孙变老了,此时CDN缓存的还是原来的赵钱孙

这是不合理的,客户的情况与之相似,大众访问到的内容都是标配版的赵钱孙,就出现了所谓的窜号

CDN应该根据对象的属性特征去做相应的缓存:设立Flag就能解决该问题,即CDN根据“?”后面的参数进行缓存

于是,CDN宠幸(缓存)的对象大致如下,包括3个标配版的赵钱孙,发福的赵、变穷的钱、年迈的孙

http://www.abc.com/赵

http://www.abc.com/钱

http://www.abc.com/孙

http://www.abc.com/赵?body=fat

http://www.abc.com/钱?money=little

http://www.abc.com/孙?age=old

至此,问题解决!

过程太短,解决问题太快

整个过程中,小编丝毫没感觉到客户有任何痛楚

最后,以一位海外技术的话来支持这次的案例分析

---如果CDN不为“?”后面的query string单独缓存,则缓存的内容只有对象的“首个且唯一”的副本


END


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值