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

資訊專欄INFORMATION COLUMN

《CDN 之我見》系列二:原理篇(緩存、安全)

maxmin / 1633人閱讀

摘要:真正要做高性能的系統(tǒng),不僅需要在數(shù)據(jù)結(jié)構(gòu)與算法層面深入,更要從硬件操作系統(tǒng)文件系統(tǒng)底層原理等多個領(lǐng)域做更多的研究例如阿里云自研的系統(tǒng)使用了裸盤技術(shù)。

《CDN之我見》共由三個篇章組成,分為原理篇、詳解篇和隕坑篇。本篇章適合那些從未接觸過、或僅了解一些 CDN 專業(yè)術(shù)語,想深入了解和感受 CDN 究竟是什么的同學(xué)。本次由白金老師繼續(xù)為大家分享《CDN之我見》系列二,主要講解緩存是什么、工作的基本原理是怎樣的,以及 CDN 是如何面對安全挑戰(zhàn)的。

首先我們先來說一下 CDN 的緩存系統(tǒng)。

緩存也叫 Cache,是 CDN 領(lǐng)域最重要的一個組成部分,對于靜態(tài)內(nèi)容分發(fā),大至視頻點(diǎn)播、文件下載,小至 html 頁面、jpg/gif/png 圖片、css/js 等,都可以緩存到本地,最終用戶(網(wǎng)民)訪問時,不必回到原始服務(wù)器拿取數(shù)據(jù),從而節(jié)省了時間、降低了源站服務(wù)器的網(wǎng)絡(luò)帶寬支出和負(fù)載。

對于 CDN 來說,每臺 Cache 機(jī)器每天的請求量是十分驚人的,磁盤上所存儲的內(nèi)容量也多得可怕,十幾塊 TB 級的硬盤被塞滿數(shù)據(jù)也是很正常的事情,因此當(dāng)一個請求到來時,能迅速檢索出磁盤上的文件并讀取、吐給最終用戶成了一件很重要的事情。

如何快速檢索數(shù)據(jù)?
一般采用高效的數(shù)據(jù)結(jié)構(gòu)或算法,例如 Hash(哈希)。

Hash 算法簡單說就是通過某種模運(yùn)算取余,按照有限余數(shù)做為不同鏈表的坐標(biāo)進(jìn)行數(shù)據(jù)存儲。若當(dāng)有多個數(shù)據(jù)余數(shù)相同時,則再按照單鏈表的方式存儲數(shù)據(jù)。

理論上 Hash 算法在最好的情況下,和 map 無異,O(1) 的時間復(fù)雜度。

在最壞情況下(所有數(shù)據(jù)樣本經(jīng)過 Hash 運(yùn)算都得到同一個余數(shù)),則性能與單鏈表無異,查找時間復(fù)雜度是 O(n)。

如果磁盤空間不夠了怎么辦?
使用基于訪問熱度的內(nèi)容淘汰算法,例如 FIFO、LRU、LFU、SLRU、LIRS 等,感興趣的同學(xué)可以看一下推薦的文章:

《緩存淘汰算法 - LRU》http://flychao88.iteye.com/bl...
《Cache 替換算法只:LIRS》https://www.jianshu.com/p/036...
《詳解三種緩存過期策略LFU,F(xiàn)IFO,LRU(附帶實現(xiàn)代碼)》https://www.cnblogs.com/s-b-b...
《HLR中的cache機(jī)制及其SLRU替換算法》http://www.docin.com/p-126462...

SATA 盤雖然存儲空間大,但受尋道速度限制,IOPS 往往很低,響應(yīng)時間會被拉長。而相比之下,SSD 可以大幅度提升響應(yīng)速度,但受成本和技術(shù)工藝限制,SSD 盤的空間相比 SATA 而言要小很多、貴很多。綜合上面兩種情況,混合盤的分級存儲模式誕生了,即 SSD + SATA,通過熱度算法將最熱的內(nèi)容放到內(nèi)存、次熱放到 SSD,冷數(shù)據(jù)放到 SATA,最冷數(shù)據(jù)受磁盤空間限制不進(jìn)行存儲,直接從 upstream 或源站獲取。

當(dāng)網(wǎng)民訪問到 Cache 服務(wù)器上時,Cache 服務(wù)器會利用 Hash 算法查找本地是否存有緩存數(shù)據(jù),若有,則直接讀取,組織成 HTTP 報文內(nèi)容,吐給網(wǎng)民。

同理,若當(dāng)本地沒有緩存住的內(nèi)容時,Cache 會向其上游(upstream)拿取數(shù)據(jù)吐給網(wǎng)民,并根據(jù)內(nèi)容的描述(例如是否可以緩存,需要緩存多久)來決定是否/如何緩存住這個請求內(nèi)容。

CDN 的關(guān)鍵技術(shù)是調(diào)度和緩存,有很多開源軟件可以實現(xiàn) CDN 的基本需求,但性能卻遠(yuǎn)達(dá)不到商業(yè)需求。真正要做高性能的 Cache 系統(tǒng),不僅需要在數(shù)據(jù)結(jié)構(gòu)與算法層面深入,更要從硬件、操作系統(tǒng)、文件系統(tǒng)、底層原理等多個領(lǐng)域做更多的研究(例如阿里云自研的 CDN Cache 系統(tǒng)使用了裸盤技術(shù))。
從上述內(nèi)容大致可以看出一個道理:CDN,入門易,做好難!

原理篇最后一部分簡單和大家介紹一下 CDN 的安全

一般的攻擊分為兩種類型,一種是蠻力型攻擊,一種是技巧型攻擊。
例如 SYN-Flooding、反射攻擊、帶寬飽和攻擊等,都是通過海量請求(有些甚至是毫無用處的請求)將系統(tǒng)帶寬資源、計算資源耗盡,從而達(dá)到使目標(biāo)無法正常提供服務(wù)能力的目的,達(dá)到攻擊者的攻擊意圖。
這種攻擊的特點(diǎn)是:

攻擊源分布廣泛,攻擊具有持續(xù)性,難以準(zhǔn)確溯源
攻擊手段暴力,流量大,以達(dá)到短時間不能服務(wù)為主要目的
技術(shù)門檻低,但由于需要眾多資源,攻擊成本較高

而例如 XSS 跨站、SQL 注入、CSRF、漏洞利用等,都是通過網(wǎng)站提供的系統(tǒng)(例如老版本操作系統(tǒng)存在協(xié)議棧崩潰漏洞)、組件(例如 bash、OpenSSL、Struts2 存在遠(yuǎn)程執(zhí)行漏洞)、軟件邏輯漏洞(例如輸入框檢測存在缺陷導(dǎo)致拼湊 SQL 語句的 SQL 注入漏洞)等來進(jìn)行攻擊。
這種攻擊的特點(diǎn)是:

攻擊流量小
攻擊較為隱蔽,不易被察覺
以竊取內(nèi)容為主要目的
攻擊具有一定的破壞和不可逆性
無需大量攻擊資源,攻擊成本較低,技術(shù)含量較高
接入 CDN 后就可以規(guī)避安全風(fēng)險嗎?
是的,或者說可以從一定程度上盡可能解決或盡可能規(guī)避安全風(fēng)險。

隱藏源站信息

當(dāng)某個網(wǎng)站接入 CDN 后,源站信息會被隔離,外界很難找到真正的源站地址(這里說很難,其實也是有可能的,主要看源站的安全防范意識),這樣攻擊者至少就無法直接對源站進(jìn)行直接攻擊。

分布式架構(gòu)

若做不到直接對源站進(jìn)行直接攻擊,則攻擊者實際攻擊的目標(biāo)不是源站,而是 CDN 廠商的分布式架構(gòu),此時除非 CDN 廠商的所有 CDN 節(jié)點(diǎn)的所有服務(wù)器都被攻陷,否則仍然有部分服務(wù)器是可以提供服務(wù)的。

安全防護(hù)

對于技巧型攻擊,CDN 廠商前端可以通過前置應(yīng)用層過濾器的技術(shù)來分析、攔截可能存在的安全隱患。(例如阿里云的 SCDN 則是集成了 Security 與 CDN 于一身的新產(chǎn)品)

作為“系列二”的最后收尾,我想強(qiáng)調(diào)的是,CDN 除了技術(shù),還有例如后臺支撐系統(tǒng)、售后、銷售等一系列的組件和團(tuán)隊配合運(yùn)作,才能有安全、高效、穩(wěn)定、極佳用戶體驗感的 CDN 產(chǎn)品。

最后還是那句話:CDN,入門易,做好難!
__

由于篇幅的關(guān)系,系列二把上次欠大家的“原理篇”補(bǔ)充齊全!

“系列三” 將開啟《CDN 之我見》的第二個篇章:“詳解篇”,會針對 CDN 領(lǐng)域的一些鮮為人知的技術(shù)、理念進(jìn)行深入剖析,各位看官敬請期待。
原文鏈接

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

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

相關(guān)文章

  • CDN 我見系列原理緩存、安全

    摘要:真正要做高性能的系統(tǒng),不僅需要在數(shù)據(jù)結(jié)構(gòu)與算法層面深入,更要從硬件操作系統(tǒng)文件系統(tǒng)底層原理等多個領(lǐng)域做更多的研究例如阿里云自研的系統(tǒng)使用了裸盤技術(shù)。 《CDN之我見》共由三個篇章組成,分為原理篇、詳解篇和隕坑篇。本篇章適合那些從未接觸過、或僅了解一些 CDN 專業(yè)術(shù)語,想深入了解和感受 CDN 究竟是什么的同學(xué)。本次由白金老師繼續(xù)為大家分享《CDN之我見》系列二,主要講解緩存是什么、工...

    rainyang 評論0 收藏0
  • CDN 我見原理——CDN的由來與調(diào)度

    摘要:接下來說一下調(diào)度。調(diào)度是中的重中之重,流量接入流量牽引選擇合適的節(jié)點(diǎn)服務(wù)器等工作,都是在調(diào)度環(huán)節(jié)完成的。協(xié)議中有一個特殊的返回狀態(tài)。由于篇幅的關(guān)系,系列一先把的歷史由來,以及調(diào)度相關(guān)的知識和大家分享。 CDN是將源站內(nèi)容分發(fā)至全國所有的節(jié)點(diǎn),從而縮短用戶查看對象的延遲,提高用戶訪問網(wǎng)站的響應(yīng)速度與網(wǎng)站的可用性的技術(shù)。它能夠有效解決網(wǎng)絡(luò)帶寬小、用戶訪問量大、網(wǎng)點(diǎn)分布不均等問題。 為了讓大...

    番茄西紅柿 評論0 收藏0
  • CDN 我見原理——CDN的由來與調(diào)度

    摘要:接下來說一下調(diào)度。調(diào)度是中的重中之重,流量接入流量牽引選擇合適的節(jié)點(diǎn)服務(wù)器等工作,都是在調(diào)度環(huán)節(jié)完成的。協(xié)議中有一個特殊的返回狀態(tài)。由于篇幅的關(guān)系,系列一先把的歷史由來,以及調(diào)度相關(guān)的知識和大家分享。 CDN是將源站內(nèi)容分發(fā)至全國所有的節(jié)點(diǎn),從而縮短用戶查看對象的延遲,提高用戶訪問網(wǎng)站的響應(yīng)速度與網(wǎng)站的可用性的技術(shù)。它能夠有效解決網(wǎng)絡(luò)帶寬小、用戶訪問量大、網(wǎng)點(diǎn)分布不均等問題。 為了讓大...

    import. 評論0 收藏0
  • 秒殺系統(tǒng)架構(gòu)如何設(shè)計我見

    摘要:即使秒殺系統(tǒng)崩潰了,也不會對網(wǎng)站造成影響。動態(tài)生成隨機(jī)下單頁面的為了避免用戶直接訪問下單需要將動態(tài)化,用隨機(jī)數(shù)作為參數(shù),只能秒殺開始的時候才生成。架構(gòu)設(shè)計如何控制秒殺商品頁面搶購按鈕的可用禁用。該文件不被緩存的做法隨機(jī)數(shù)。 秒殺背景 電商中為了吸引顧客、聚集人氣,經(jīng)常會策劃一些秒殺活動?;顒又惺圪u的商品,要么價格遠(yuǎn)低于市場價格,要么比較稀缺(如一些新發(fā)布的商品)。這些商品電商一般都會限...

    zhunjiee 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<