從HTTP響應(yīng)頭看各家CDN緩存技術(shù)
由于國內(nèi)各家電信運(yùn)營商互聯(lián)互通的壁壘,CDN作為互聯(lián)網(wǎng)用戶加速的最后一公里,扮演了很重要的角色。
在各家公司大談的異地多活容災(zāi)上也承擔(dān)了用戶分流的重任,看看各家用的東西,結(jié)合一些網(wǎng)上的公開資料,也能管中窺豹。
傳統(tǒng)的國內(nèi)CDN廠家有:帝聯(lián),網(wǎng)宿,藍(lán)汛,快網(wǎng)等
新興的互聯(lián)網(wǎng)公司有自家產(chǎn)品對外輸出型和創(chuàng)業(yè)公司細(xì)分型:BAT都有此產(chǎn)品,還有七牛,又拍,微軟azure等
美國龍頭:Akamai,美國市場大哥,Apple用的也是這個,但Apple的在線服務(wù)這么爛,真懷疑是不是Apple把Akamai帶坑里了。
本文只展示響應(yīng)頭,有興趣自己深挖。
淘寶
server:Tenginestatus:200timing-allow-origin:*via:cache15.l2et15-1[0,200-0,H],cache35.l2et15-1[0,0],cache3.cn286[0,200-0,H],cache8.cn286[11,0]x-cache:HITTCP_MEM_HITdirn:20:727080716x-swift-cachetime:31535998x-swift-savetime:Fri, 19Aug2016 02:55:13GMT
不用說,淘寶用的是自家阿里CDN, 走Tengine, 返回的響應(yīng)很友好,甚至告訴你是從內(nèi)存命中的。
x-swift指明了使用了的具體熱點(diǎn)緩存技術(shù)。
關(guān)于阿里云CDN,有很多公開介紹,例如:
文章一:阿里云CDN技術(shù)演進(jìn)之路http://www.slideshare.net/jos...
via:cache46.l2et2[0,200-0,H],cache60.l2et2[0,0],cache7.cn286[0,200-0,H],cache8.cn286[3,0]x-cache:HITTCP_HITdirn:11:60349972x-swift-cachetime:31535950x-swift-savetime:Tue, 28Jun2016 04:04:29GMT
根據(jù)阿里云官網(wǎng)解釋:
若:X-Cache:HIT TCP_MEM_HIT 表示命中緩存
若:X-Cache:MISS TCP_MISS 則表示未命中緩存
微信
騰訊CDN節(jié)點(diǎn):
Server:Qnginx/1.1.1X-Cache-Lookup:HitFromDisktankX-NWS-LOG-UUID:406395d0-7cb8-4630-99cf-8208d04e7750
很明顯,這里告訴大家CDN命中了磁盤緩存上的數(shù)據(jù)。
一些網(wǎng)上資料查到的解釋:
X-Cache-Lookup:Hit From MemCache 表示命中CDN節(jié)點(diǎn)的內(nèi)存
X-Cache-Lookup:Hit From Disktank 表示命中CDN節(jié)點(diǎn)的磁盤
X-Cache-Lookup:Hit From Upstream 表示沒有命中CDN
騰訊CDN起步可能會晚一點(diǎn),Qcon上一個公開資料:
CDN架構(gòu)技術(shù)之道http://www.infoq.com/cn/prese...
騰訊還與小米合作,在硬盤版小米路由上推出了一個插件,叫騰訊會員兌換,本質(zhì)上就是利用小米路由用戶上的硬盤存儲一部分內(nèi)容,上傳給需要用的用戶,由騰訊計算收益,盤活了家里閑時的網(wǎng)絡(luò)資源。
網(wǎng)易云音樂
Server:nginxX-Via:1.1ngdianxin90:9(CdnCacheServerV2.0)
網(wǎng)易太低調(diào),最近也開始搞網(wǎng)易云產(chǎn)品了,但基本查不到什么公開資料,從響應(yīng)頭看似乎就是直接用的nginx。
新浪微博
Content-Type:image/gifSINA-LB:aGEuNDEuZzEuc2h4LmxiLnNpbmFub2RlLmNvbQ==SINA-TS:ZGFkYzk4Y2UgMCAwIDAgOCAwCg==Via:http/1.1 ctc.ningbo.ha2ts4.70 (ApacheTrafficServer/4.2.1.1[cRs f ])X-Via-CDN:f=Edge,s=ctc.ningbo.ha2ts4.70,c=115.231.82.33Age:1X-Via:1.1zjjhdx33:3(Cdn Cache Server V2.0),1.1tzhoudxin37:5(Cdn Cache Server V2.0)Connection:keep-alive
這個返回了Cdn Cache Server V2.0,有多家公司都返回了這個,不知道這是個啥玩意,是不是個開源通用產(chǎn)品呢?Squid Varnish Nginx?
segmantfault:
命中
via:T.101203.R.1, M.ctn-zj-lna-204x-cache:HIT(R) from ctn-zj-lna-204x-request-id:c239b9ae8ec9f83030bbdfaabcfa8fb4x-source:U/200, G/200
緩存MISS
via:T.101195.N.1,T.101163.R.1,V.mix-hz-fdi-163,M.ctn-zj-lna-200x-cache:MISS(S)fromctn-zj-lna-200x-request-id:724565e217e01e9f60e9f1b74aecedb3
在ctn-zj-lna上緩存沒有命中,這個ctn-zj是個CDN集群么?
七牛
訪問該圖片:http://7xt44n.com2.z0.glb.qin...
Response header返回:
X-Log:mc.g;IO:1/304X-Qiniu-Zone:0X-Reqid:90oAABxCoNMaw2wUX-Via:1.1dxxz44:2(Cdn Cache Server V2.0),1.1ngdianxin42:6(Cdn Cache Server V2.0)
用的就是自家產(chǎn)品。
唯品會
Server:vipshop/VbibTransfer-Encoding:chunkedVip-Cache:HITx-amz-delete-marker:falseX-Via:1.1xxxz53:0(CdnCacheServerV2.0),1.1zhdx34:6(CdnCacheServerV2.0)
看Server的響應(yīng)頭,似乎也應(yīng)該是自家搭建的CDN,顯示了命中與否。