成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

云時(shí)代服務(wù)器端工程師必備 CDN 技能包

番茄西紅柿 / 1555人閱讀

摘要:比如解析到了藍(lán)訊,回源的地址為解析到了藍(lán)訊,回源的地址為圖片資源是分布式存儲(chǔ)存儲(chǔ)在各個(gè)主機(jī)上,要確保上面兩個(gè)回源域名指向的服務(wù)以及服務(wù)器路徑是一樣的。

直播好久沒(méi)有曝光量了,自薦一波《PHP進(jìn)階之路》(PHPer們,好久沒(méi)有投資自己了呢?)
本文原文地址:https://mengkang.net/641.html
原創(chuàng)一篇博客不容易,請(qǐng)勿隨意轉(zhuǎn)載

云時(shí)代,為了提升靜態(tài)資源的加載速度,大伙都是拼了。這促使近些年國(guó)內(nèi) CDN 的使用逐步普及。而作為一家以圖片分享社區(qū)為核心業(yè)務(wù)的公司,圖片 CDN 的使用比較多,下面梳理下自己的一些經(jīng)驗(yàn)。閉門造車,如有勘誤,大家多多包涵。

主要包括了以下內(nèi)容:

CDN使用背景,圖片的分布式存儲(chǔ)

CDN 網(wǎng)絡(luò)原理概述

批量添加、切換 CDN 的步驟和注意事項(xiàng)

多 CDN 切換的步驟和注意事項(xiàng)

CDN 訪問(wèn)故障分析

CDN使用背景,圖片的分布式存儲(chǔ)

因?yàn)橄挛闹械腃DN的使用都是基于我們當(dāng)前的圖片存儲(chǔ),為了下文介紹不是那么突兀描述下當(dāng)前圖片存儲(chǔ)的結(jié)構(gòu)圖:

CDN 網(wǎng)絡(luò)原理概述

簡(jiǎn)單畫了一張圖予以說(shuō)明:

實(shí)際我們?cè)诘谖宀剑卦吹臅r(shí)候,我們會(huì)要求 CDN 服務(wù)商,不能所有節(jié)點(diǎn)直接回源到我們?cè)凑?,協(xié)商要求他們使用統(tǒng)一代理回源我們?cè)凑?,也就是說(shuō)同一個(gè)資源只許他們回源一次。之后,其他邊緣節(jié)點(diǎn)沒(méi)有緩存,請(qǐng)求他們自身的代理。

也就是說(shuō)他們的 CDN 是有多級(jí)緩存的。

批量添加 CDN 的步驟和注意事項(xiàng)

業(yè)務(wù)需求:現(xiàn)在需要將某個(gè)域名(a.mengkang.net)下的圖片訪問(wèn)的流量切換到 CDN 上。

操作步驟:

先對(duì)原域名下訪問(wèn)日志做統(tǒng)計(jì),統(tǒng)計(jì)出訪問(wèn)頻次較高的圖片地址(比如20萬(wàn)個(gè)地址),把這些地址交給cdn服務(wù)商。

讓他們先去預(yù)熱抓取這20萬(wàn)個(gè)地址的資源。

預(yù)熱完畢后,我們?cè)侔眩╝.mengkang.net)的一部分域名換為(b.mengkang.net)。然后把b.mengkang.net做cname解析到cdn服務(wù)器給定的域名地址上去(比如b.mengkang.ccgslb.com.cn)。

通過(guò)wget測(cè)試是訪問(wèn)域名b.mengkang.net下的圖片是否能夠被cdn緩存住。

cache測(cè)試沒(méi)有問(wèn)題之后,我再把a(bǔ).mengkang.net下的部分流量切到b.mengkang.net上去,同事運(yùn)維的同事監(jiān)控流量回源的情況,根據(jù)回源情況再對(duì)分配流量的大小做調(diào)整。

多 CDN 切換的步驟和注意事項(xiàng) 需求

把網(wǎng)宿 maa 的 cdn 切 400M 到藍(lán)訊 mplus 上。

切換原理

最初,我們配置了n (比如 n=100)個(gè)二級(jí)域名,然后把這 n 個(gè)域名中的一半解析到網(wǎng)宿,另一半解析到藍(lán)訊。比如:

a001.zhoumengkang.com 解析到了藍(lán)訊,回源的地址為y.a001.zhoumengkang.com;

a001.mengkang.net 解析到了藍(lán)訊,回源的地址為y.a001.mengkang.net;

圖片資源是分布式存儲(chǔ)存儲(chǔ)在各個(gè)主機(jī)上,要確保上面兩個(gè)回源域名指向的服務(wù)以及服務(wù)器路徑是一樣的。這樣,這兩個(gè)域名就可以相互切換了,但是切換的時(shí)候需要觀察回源的壓力。

這里說(shuō)的“切”是從我們自身的業(yè)務(wù)代碼動(dòng)刀,而不是切換和 cdn 的域名解析合作。圖片資源在數(shù)據(jù)庫(kù)有全局唯一的uuid,然后根據(jù)該uuid生成url,只需要在這里控制url的域名輸出即可。

執(zhí)行步驟

查看網(wǎng)宿 maa 下各個(gè)域名的流量請(qǐng)求帶寬。

查看網(wǎng)宿 maa 和藍(lán)訊 mplus 回源地址相同的對(duì)應(yīng)域名。

統(tǒng)計(jì)該域名下的熱點(diǎn)資源地址,然后到即將切換的 cdn 服務(wù)商做預(yù)加載,否則客戶端加載時(shí),即使回源帶寬不至于打滿,但是會(huì)出現(xiàn)請(qǐng)求時(shí)間過(guò)長(zhǎng),圖片無(wú)法顯示的情況。

修改業(yè)務(wù)代碼,減掉網(wǎng)宿 maa 的圖片地址的輸出,替換為藍(lán)訊 mplus 的域名。逐步替換,單域名下流量過(guò)大,還需要慢慢降權(quán)重轉(zhuǎn)移,而不是一次性,以防回源壓力過(guò)大,導(dǎo)致源站無(wú)法承受。

監(jiān)控兩邊 cdn 帶寬,新 cdn 的緩存命中率,源站帶寬和服務(wù)器負(fù)載、I/O以及前端圖片服務(wù)器負(fù)載均衡服務(wù)器總帶寬(因?yàn)楹湾X直接相關(guān),必須關(guān)注)。

注意事項(xiàng)

關(guān)注源站的負(fù)載和 I/O

# top
top - 16:25:34 up 273 days,  8:54,  1 user,  load average: 5.54, 5.34, 5.19
Tasks: 209 total,   1 running, 208 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.2%us,  0.4%sy,  0.0%ni, 47.9%id, 51.0%wa,  0.0%hi,  0.5%si,  0.0%st
Mem:  32945488k total, 32851176k used,    94312k free,  7033172k buffers
Swap: 12485164k total,      204k used, 12484960k free, 22568232k cached

cdn 切換之后,除了觀察新 cdn 的流量,還需要監(jiān)控新 cdn 的緩存命中率,可以通過(guò)后期的回源比例來(lái)監(jiān)控,也可以通過(guò)循環(huán)腳本執(zhí)行wget來(lái)監(jiān)測(cè)。

$ wget -S -O /dev/null f1.topitme.com/1/40/33/1110152459d0433401m.jpg
--2015-12-29 11:11:01--  http://f1.topitme.com/1/40/33/1110152459d0433401m.jpg
Resolving f1.topitme.com... 220.181.64.145
Connecting to f1.topitme.com|220.181.64.145|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Content-Type: image/jpeg
  Content-Length: 33061
  Accept-Ranges: bytes
  Server: nginx
  Date: Mon, 30 Nov 2015 07:47:09 GMT
  Last-Modified: Mon, 08 Sep 2014 05:00:59 GMT
  Expires: Thu, 27 Nov 2025 07:47:09 GMT
  Cache-Control: max-age=315360000
  Powered-By-ChinaCache: HIT from 010519g3H8.6
  Age: 2489032
  Powered-By-ChinaCache: HIT from 01001023P2.2
  Switch:FSCS
Length: 33061 (32K) [image/jpeg]
Saving to: /dev/null
 
/dev/null           100%[=====================>]  32.29K  --.-KB/s   in 0.09s  
 
2015-12-29 11:11:02 (372 KB/s) - /dev/null saved [33061/33061]

這里出現(xiàn)了Powered-By-ChinaCache為HIT說(shuō)明命中了,如果是MISS則沒(méi)有命中,該規(guī)則需要咨詢 cdn 運(yùn)營(yíng)商。

后記

根據(jù)每個(gè)產(chǎn)品的屬性,每日流量肯定都有高峰和低谷期,我之前設(shè)置的自然回源,雖然在流量高峰期,設(shè)置的比例很小,但是基數(shù)很大,所以切過(guò)去的量比較大,應(yīng)該選擇在流量比較少的時(shí)間,執(zhí)行預(yù)加載,這樣保證了帶寬的使用率。

CND資源訪問(wèn)故障的定位 案例一:圖片大面積無(wú)法加載

現(xiàn)象:同一圖片地址,時(shí)而能打開,時(shí)而無(wú)法訪問(wèn)。無(wú)法訪問(wèn)時(shí),多帶帶訪問(wèn)圖片地址發(fā)現(xiàn)還跳轉(zhuǎn)到了一個(gè)游戲網(wǎng)站主頁(yè)。

聯(lián)系 CDN 客服,得到的反饋是運(yùn)營(yíng)商 DNS 劫持,他們的服務(wù)沒(méi)問(wèn)題。(非常的消極怠工)

拿下面這張圖片作為例子 http://f4.topit.me/4/2d/d1/11...

首先我們確定我們?cè)凑举Y源是可訪問(wèn)的,在 CDN 回源上不存在問(wèn)題。

我們通過(guò)wget命令綁定域名host,假如源站ip為111.1.23.214,這樣則會(huì)繞過(guò) CDN,直接訪問(wèn)我們?cè)凑玖恕?/p>

wget -S -0 /dev/null --header="Host: f4:topit.me" http://111.1.23.214/4/2d/d1/1133196716aead12d4s.jpg

確認(rèn)圖片是能正常訪問(wèn)的。

然后通過(guò)wget -S打印詳細(xì)的 http 頭信息

wget -S  http://f4.topit.me/4/2d/d1/1133196716aead12d4s.jpg

請(qǐng)求結(jié)果如下

# wget -S  http://f4.topit.me/4/2d/d1/1133196716aead12d4s.jpg
--2014-11-08 21:47:34--  http://f4.topit.me/4/2d/d1/1133196716aead12d4s.jpg
Resolving f4.topit.me... 123.150.50.14, 123.150.50.13
Connecting to f4.topit.me|123.150.50.14|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 302 Moved Temporarily
  Server: nginx/1.7.3
  Date: Sat, 08 Nov 2014 13:45:31 GMT
  Content-Type: text/html; charset=iso-8859-1
  Content-Length: 218
  Location: http://www.aiaigame.com/index.html
  Cache-Control: max-age=300
  Expires: Sat, 08 Nov 2014 13:50:31 GMT
  Powered-By-ChinaCache: MISS from CHN-SX-3-3gC.2
  Age: 125
  Powered-By-ChinaCache: HIT from CHN-TJ-7-3V2.6
  Connection: close
Location: http://www.aiaigame.com/index.html [following]
--2014-11-08 21:47:36--  http://www.aiaigame.com/index.html
Resolving www.aiaigame.com... 119.90.14.54, 119.90.14.59, 220.181.64.153, ...
Connecting to www.aiaigame.com|119.90.14.54|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Date: Sat, 08 Nov 2014 13:42:50 GMT
  Server: Apache/2.2.10 (Unix) DAV/2 PHP/5.2.6 mod_ssl/2.2.10 OpenSSL/0.9.8e-fips-rhel5
  Last-Modified: Fri, 07 Nov 2014 09:14:50 GMT
  ETag: "31a8087-132ee-507413eb6f680"
  Accept-Ranges: bytes
  Content-Length: 78574
  Cache-Control: max-age=300
  Expires: Sat, 08 Nov 2014 13:47:50 GMT
  Vary: Accept-Encoding,User-Agent
  Content-Type: text/html
  Powered-By-ChinaCache: HIT from 01011623g3.3
  Age: 288
  Powered-By-ChinaCache: HIT from 01001743SJ
  Connection: keep-alive
Length: 78574 (77K) [text/html]
Saving to: “index.html.4”
  
100%[=====================================================================================================================================================>] 78,574      --.-K/s   in 0.005s  
  
2014-11-08 21:47:38 (16.3 MB/s) - “index.html.4” saved [78574/78574]

通過(guò)該請(qǐng)求,我們可以清楚的看到,請(qǐng)求是先已經(jīng)連接到了123.150.50.14:80然后發(fā)生的302跳轉(zhuǎn),頭信息里清楚的寫到Powered-By-ChinaCache: HIT from CHN-TJ-7-3V2.6,也就是說(shuō)是 CDN 自身的問(wèn)題,而且下面的跳轉(zhuǎn)的網(wǎng)頁(yè)也是使用ChinaCache的客戶。

這樣問(wèn)題得到了定位,CDN 那邊也無(wú)法再推脫,才著手處理。

案例二:訪問(wèn)網(wǎng)頁(yè)時(shí) css 里面的圖片都無(wú)法訪問(wèn)

訪問(wèn)網(wǎng)頁(yè)時(shí) css 里面的圖片都無(wú)法訪問(wèn),多帶帶打開圖片地址能訪問(wèn)。使用 wget --referer 定位是防盜鏈錯(cuò)誤設(shè)置

故障截圖(有點(diǎn)丑)

我把這個(gè)問(wèn)題反饋給客服,給我的答復(fù)是他們沒(méi)有做任何限制,是我們?cè)凑镜膯?wèn)題。那只能講證據(jù)了。

首先確認(rèn)源站沒(méi)問(wèn)題,模擬瀏覽器訪問(wèn)時(shí)帶上referer

wget -S -O /dev/null --header="Host: img.topit.me" --referer="http://static.topitme.com/s/css/main21.css" http://211.155.84.132/img/bar/next.png

結(jié)果如下,說(shuō)明源站是沒(méi)有設(shè)置權(quán)限的

wget -S -O /dev/null --header="Host: img.topit.me" --referer="http://static.topitme.com/s/css/main21.css" http://211.155.84.132/img/bar/next.png
--2015-05-07 13:52:50--  http://211.155.84.132/img/bar/next.png
Connecting to 211.155.84.132:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Server: nginx
  Date: Thu, 07 May 2015 05:52:50 GMT
  Content-Type: image/png
  Content-Length: 3022
  Connection: keep-alive
  Last-Modified: Wed, 04 Jan 2012 14:44:07 GMT
  Expires: Sun, 04 May 2025 05:52:50 GMT
  Cache-Control: max-age=315360000
  Accept-Ranges: bytes
Length: 3022 (3.0K) [image/png]

同時(shí),綁定host的也采用另一種方式wget -e http_proxy

wget -SO /dev/null --referer="http://static.topitme.com/s/css/main21.css" http://img.topit.me/img/style/icon_heart.png -e http_proxy=211.155.84.137

然后直接請(qǐng)求,不綁定host再請(qǐng)求

wget -S  -O /dev/null  --referer="http://static.topitme.com/s/css/main21.css"  http://img.topit.me/img/bar/next.png
--2015-05-07 11:29:21--  http://img.topit.me/img/bar/next.png
Resolving img.topit.me... 111.202.7.252, 125.39.78.164
Connecting to img.topit.me|111.202.7.252|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 403 Forbidden
  Server: nginx
  Date: Thu, 07 May 2015 03:29:21 GMT
  Content-Type: text/html
  Content-Length: 162
  Connection: keep-alive
2015-05-07 11:29:21 ERROR 403: Forbidden.

可以清晰的看到域名的解析過(guò)程,CDN DNS 通過(guò)預(yù)定義策略,返回到最優(yōu)的 ip 111.202.7.252予以訪問(wèn)。然后返回了403。只有我截圖對(duì)比了兩種情況,CDN 客服才主動(dòng)著手處理這個(gè)問(wèn)題。

永遠(yuǎn)不要指望著客服來(lái)幫你解決問(wèn)題,只有自己找到問(wèn)題。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/33794.html

相關(guān)文章

  • 時(shí)代務(wù)器程師必備 CDN 技能

    摘要:比如解析到了藍(lán)訊,回源的地址為解析到了藍(lán)訊,回源的地址為圖片資源是分布式存儲(chǔ)存儲(chǔ)在各個(gè)主機(jī)上,要確保上面兩個(gè)回源域名指向的服務(wù)以及服務(wù)器路徑是一樣的。 直播好久沒(méi)有曝光量了,自薦一波《PHP進(jìn)階之路》(PHPer們,好久沒(méi)有投資自己了呢?)本文原文地址:https://mengkang.net/641.html原創(chuàng)一篇博客不容易,請(qǐng)勿隨意轉(zhuǎn)載 云時(shí)代,為了提升靜態(tài)資源的加載速度,大伙都...

    BenCHou 評(píng)論0 收藏0
  • 軟件測(cè)試??!已經(jīng)過(guò)了點(diǎn)點(diǎn)點(diǎn)的時(shí)代,成為一名合格的軟件測(cè)試人,必備的8大技能!

    摘要:缺陷管理工具缺陷管理工具是提交錯(cuò)誤工具,是評(píng)價(jià)軟件質(zhì)量以及軟件技術(shù)人員價(jià)值的工具之一。世界由許多數(shù)據(jù)組成,而軟件測(cè)試是為了滿足客戶的需求,但數(shù)據(jù)必須精準(zhǔn)。系統(tǒng)在系統(tǒng)中,測(cè)試人員通常使用它來(lái)看日志,更好地定位,這也是提高技能的一個(gè)方面。 ...

    jsliang 評(píng)論0 收藏0
  • 軟件測(cè)試崗位工作,到底可以做多久?

    摘要:說(shuō)軟件測(cè)試有可能被替代或者被淘汰的人,他一定沒(méi)有正確了解軟件測(cè)試。軟件測(cè)試最主要的優(yōu)勢(shì)是隨著經(jīng)驗(yàn)的增長(zhǎng),能夠發(fā)現(xiàn)更多軟件的問(wèn)題,保證測(cè)試覆蓋率,但是工具本身并無(wú)想象力。 ...

    longshengwang 評(píng)論0 收藏0
  • 直播技術(shù):從性能參數(shù)到業(yè)務(wù)大數(shù)據(jù),淺談直播 CDN 服務(wù)監(jiān)控

    摘要:線上服務(wù)的有效監(jiān)控和數(shù)據(jù)收集,一直是后端服務(wù)離不開的話題。在這個(gè)大數(shù)據(jù)時(shí)代,有了數(shù)據(jù)卻不做事情,等同于浪費(fèi)。而南京移動(dòng)的用戶量較大,也說(shuō)明南京地區(qū)應(yīng)該增設(shè)服務(wù)點(diǎn)。 線上服務(wù)的有效監(jiān)控和數(shù)據(jù)收集,一直是后端服務(wù)離不開的話題。直播作為一種經(jīng)典的分布式系統(tǒng),監(jiān)控以及數(shù)據(jù)收集更是必不可少的工作。如何對(duì)海量的服務(wù)集群有效的監(jiān)控和?;?,又如何抓取集群中的碎片數(shù)據(jù)中來(lái)優(yōu)化服務(wù)?網(wǎng)易云信音視頻研發(fā)工程...

    番茄西紅柿 評(píng)論0 收藏0
  • 直播技術(shù):從性能參數(shù)到業(yè)務(wù)大數(shù)據(jù),淺談直播 CDN 服務(wù)監(jiān)控

    摘要:線上服務(wù)的有效監(jiān)控和數(shù)據(jù)收集,一直是后端服務(wù)離不開的話題。在這個(gè)大數(shù)據(jù)時(shí)代,有了數(shù)據(jù)卻不做事情,等同于浪費(fèi)。而南京移動(dòng)的用戶量較大,也說(shuō)明南京地區(qū)應(yīng)該增設(shè)服務(wù)點(diǎn)。 線上服務(wù)的有效監(jiān)控和數(shù)據(jù)收集,一直是后端服務(wù)離不開的話題。直播作為一種經(jīng)典的分布式系統(tǒng),監(jiān)控以及數(shù)據(jù)收集更是必不可少的工作。如何對(duì)海量的服務(wù)集群有效的監(jiān)控和?;?,又如何抓取集群中的碎片數(shù)據(jù)中來(lái)優(yōu)化服務(wù)?網(wǎng)易云信音視頻研發(fā)工程...

    Nino 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<