0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

全局負載均衡與CDN內(nèi)容分發(fā)

馬哥Linux運維 ? 來源:博客園 ? 2022-12-26 09:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CDN簡介

CDN的全稱是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡。CDN是構(gòu)建在現(xiàn)有網(wǎng)絡基礎(chǔ)之上的智能虛擬網(wǎng)絡,依靠部署在各地的邊緣服務器,通過中心平臺的負載均衡、內(nèi)容分發(fā)、調(diào)度等功能模塊,使用戶就近獲取所需內(nèi)容,降低網(wǎng)絡擁塞,提高用戶訪問響應速度和命中率。CDN的關(guān)鍵技術(shù)主要有內(nèi)容存儲和分發(fā)技術(shù)。

簡而言之,就是將數(shù)據(jù)部署在各地的服務器中,通過負載均衡技術(shù),讓用戶就近獲取服務器中的數(shù)據(jù)。

CDN原理

CDN的基本原理是廣泛采用各種緩存服務器,將這些緩存服務器分布到用戶訪問相對集中的地區(qū)或網(wǎng)絡中,在用戶訪問網(wǎng)站時,利用全局負載技術(shù)將用戶的訪問指向距離最近的工作正常的緩存服務器上,由緩存服務器直接響應用戶請求。

全局負載均衡主要用于在多個區(qū)域擁有自己服務器的站點,為了使全球用戶只以一個IP地址或域名就能訪問到離自己最近的服務器,從而獲得最快的訪問速度。

CDN的基本思路是盡可能避開互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使內(nèi)容傳輸?shù)母臁⒏€(wěn)定。通過在網(wǎng)絡各處放置節(jié)點服務器所構(gòu)成的在現(xiàn)有的互聯(lián)網(wǎng)基礎(chǔ)之上的一層智能虛擬網(wǎng)絡,CDN系統(tǒng)能夠?qū)崟r地根據(jù)網(wǎng)絡流量和各節(jié)點的連接、負載狀況以及到用戶的距離和響應時間等綜合信息將用戶的請求重新導向離用戶最近的服務節(jié)點上。其目的是使用戶可就近取得所需內(nèi)容,解決 Internet網(wǎng)絡擁擠的狀況,提高用戶訪問網(wǎng)站的響應速度。

0fabe018-846a-11ed-bfe3-dac502259ad0.png

CDN功能 歸納起來,CDN具有以下主要功能:

節(jié)省骨干網(wǎng)帶寬,減少帶寬需求量;

提供服務器端加速,解決由于用戶訪問量大造成的服務器過載問題;

服務商能使用Web Cache技術(shù)在本地緩存用戶訪問過的Web頁面和對象,實現(xiàn)相同對象的訪問無須占用主干的出口帶寬,并提高用戶訪問因特網(wǎng)頁面的相應時間的需求;

能克服網(wǎng)站分布不均的問題,并且能降低網(wǎng)站自身建設(shè)和維護成本;

降低“通信風暴”的影響,提高網(wǎng)絡訪問的穩(wěn)定性。

CDN服務模式

簡單地說,內(nèi)容分發(fā)網(wǎng)絡(CDN)是一個經(jīng)策略性部署的整體系統(tǒng),包括分布式存儲、負載均衡、網(wǎng)絡請求的重定向和內(nèi)容管理4個要件,而內(nèi)容管理和全局的網(wǎng)絡流量管理(Traffic Management)是CDN的核心所在。通過用戶就近性和服務器負載的判斷,CDN確保內(nèi)容以一種極為高效的方式為用戶的請求提供服務??偟膩碚f,內(nèi)容服務基于緩存服務器,也稱作代理緩存(Surrogate),它位于網(wǎng)絡的邊緣,距用戶僅有"一跳"(Single Hop)之遙。

同時,代理緩存是內(nèi)容提供商源服務器(通常位于CDN服務提供商的數(shù)據(jù)中心)的一個透明鏡像。這樣的架構(gòu)使得CDN服務提供商能夠代表他們客戶,即內(nèi)容供應商,向最終用戶提供盡可能好的體驗,而這些用戶是不能容忍請求響應時間有任何延遲的。

全局負載均衡

全局負載均衡(Global Server Load Balance, GSLB),全局負載均衡是指對分別放置在不同的地理位置的服務器群間作負載均衡。服務器負載均衡是指對本地的服務器群做負載均衡。主要用于在多個區(qū)域擁有自己服務器的站點,為了使全球用戶只以一個IP地址或域名就能訪問到離自己最近的服務器,從而獲得最快的訪問速度。

服務器群選擇

對于全局負載均衡而言,其核心就是服務器群的選擇。對于某個特定的客戶,應該將其定向到哪一個服務群?應該使用什么標準來進行這種選擇?一般情況下,主要考慮兩個因素:臨近程度和負載大小。

臨近機制主要考察服務器群與用戶之間的物理距離。選擇地理位置最接近用戶的服務器集群,可以減少服務響應到達用戶所經(jīng)過的中轉(zhuǎn)次數(shù),從而降低中轉(zhuǎn)節(jié)點對服務質(zhì)量的影響。常見的有兩種方式,一種是靜態(tài)配置,例如根據(jù)靜態(tài)的IP地址配置表進行IP地址到服務器群的映射。另一種方式是動態(tài)的檢測,例如實時地探測到目標IP的距離(可以采用到達目標IP經(jīng)過的跳數(shù)作為度量單位),然后比較探測結(jié)果進行選擇。

負載機制比較各個服務器群的負載,確定由哪一個服務器群來響應請求。在全局負載均衡中,考察的是服務器群的負載,而不是單個服務器的負載,因此,需要更多地考慮普遍的問題,比如,需要考慮站點的最大連接數(shù)、站點的平均響應時間、服務質(zhì)量等。

常見的GSLB實現(xiàn)方式有三種:DNS輪詢、HTTP重定向、IP欺騙(又稱三角傳輸)。這三種實現(xiàn)方式都是在用戶通過域名來訪問目標服務器時,由GSLB設(shè)備進行智能決策,將用戶引導到一個最佳的服務IP。

基于DNS的GSLB

用戶訪問某個網(wǎng)站時,需要首先通過域名解析服務(DNS)獲得網(wǎng)站的IP。域名解析通常不是一次性完成的,常常需要查詢?nèi)舾刹煌挠蛎掌鞑拍苷业綄腎P。如下圖所示,用戶首先在本地配置一個本地DNS服務器地址,本地DNS服務器收到DNS請求后若不能解析,會將請求轉(zhuǎn)發(fā)給更高一級的DNS服務器直到找到域名對應的IP或確定域名不存在。

0fcea58a-846a-11ed-bfe3-dac502259ad0.png

對于加入了GSLB的情況,一個GSLB設(shè)備(可能是一個4層交換機)會最終代替DNS服務器完成域名解析。下圖展示兩種流程的不同。

0fece5f4-846a-11ed-bfe3-dac502259ad0.png

基于DNS的GSLB優(yōu)缺點

優(yōu)點是:實現(xiàn)簡單、實施容易、成本低。

缺點是:當GSLB設(shè)備采用“用戶就近訪問”的原則作為選擇最優(yōu)服務器的策略時,會存在判斷不準的現(xiàn)象。原因是在這種策略下,GSLB設(shè)備是根據(jù)用戶IP地址和內(nèi)容服務器IP地址比較來判斷其就近性的,但由于DNS響應是通過本地DNS服務器到達用戶的,GSLB設(shè)備實際上只能得到用戶的本地DNS服務器地址,若用戶指定的DNS服務器IP不能正確代表用戶的實際位置,就會出現(xiàn)判斷不準的現(xiàn)象。

基于HTTP重定向的GSLB

為了解決基于DNS實現(xiàn)方式判斷不準的問題,又出現(xiàn)了基于HTTP重定向的GSLB。這種方案中GSLB使用HTTP重定向技術(shù),將用戶訪問重定向到最合適的服務器上。

10097a3e-846a-11ed-bfe3-dac502259ad0.png

使用基于HTTP重定向方案,首先在DNS中將GSLB設(shè)備的IP地址登記為域名的A記錄(既域名對應的IP)。如上圖所示,用戶首先通過DNS得到GSLB設(shè)備的IP地址,此時用戶以為這就是站點服務器的IP,并向其發(fā)送HTTP請求。GSLB設(shè)備收到HTTP請求后使用一定策略選擇一個最合適的服務器,然后GSLB設(shè)備向用戶發(fā)送一個HTTP重定向指令(HTTP302),并附上選出的服務器的IP地址。最后,用戶根據(jù)重定向IP訪問站點的服務器。

基于HTTP重定向的GSLB優(yōu)缺點

優(yōu)點:由于直接向用戶發(fā)送HTTP重定向指令,可以得到用戶的真實IP,從而解決了判斷不準確的問題。

缺點是只能為HTTP訪問重定向。

基于IP欺騙的GSLB

HTTP重定向方案解決了判斷不準確的問題,但只能針對HTTP協(xié)議應用使用。對于HTTP協(xié)議以外的訪問,就需要使用基于IP欺騙(又稱三角傳輸)的GSLB。

10267422-846a-11ed-bfe3-dac502259ad0.png

基于IP欺騙的方案同樣需要首先將GSLB設(shè)備的IP地址在DNS中登記為域名的A記錄,這樣用戶對該域名的請求包都會先發(fā)送到GSLB設(shè)備。如上圖所示,GSLB設(shè)備首次收到服務請求包后,會選擇一個最合適的服務器,并將服務請求包發(fā)送到該服務器。服務器在向用戶發(fā)送響應包時,將其源IP地址字段改為GSLB設(shè)備的IP,發(fā)送給用戶。

這樣,整個過程對用戶來說,感覺到的只是GSLB設(shè)備在為其提供服務,并不知道其中經(jīng)歷這樣一個三角傳輸?shù)倪^程。而且這種方案可以對所有類型的訪問如HTTP、FTP等進行重定向,但其速度和效率相對比前兩種方案要差一點,因為用戶所有的訪問請求都通過三個點才能響應,經(jīng)歷了更多的路徑和處理,所以其主要作為HTTP重定向方案的補充方案在同一GSLB設(shè)備中實現(xiàn)。

服務器群選擇策略

上文中介紹的三種方案,解決了如何將用戶引導到指定服務器群的問題,而在此之前首先需要使用某種方式選出最適合用戶的服務器群,也就是GSLB在選擇服務器群時所采用的策略。接下來介紹一些常用的GSLB策略。

1)地理區(qū)域或用戶自定義區(qū)域:將若干條IP地址前綴劃分一個區(qū)域為。根據(jù)用戶本地DNS的IP地址,將特定IP范圍的用戶優(yōu)先分配到某個通過健康檢查的站點。

2)IP地址權(quán)重:可以為DNS應答中的每個IP地址分配權(quán)重,權(quán)重決定與其他候選IP相比分配到該IP的流量比例。

3)往返時間(Round Trip Time, RTT):RTT策略是基于區(qū)域之外最常用的策略。有兩種模式的RTT測量:Active RTT測量與Passive RTT測量。在實際部署中,由于網(wǎng)絡限制和性能原因,Active RTT往往無法使用,Passive RTT更實用一些。

a) Active RTT 測量:

當GSLB Controller收到來自LDNS的DNS請求時,GSLB Controller會通知所有站點負載均衡設(shè)備對該LDNS進行RTT測量。根據(jù)采集到的RTT值,GSLB Controller會選擇RTT值最小的站點的VIP返回給LDNS。

由于Active RTT采用DNS Query或ICMP進行RTT測量,在有些網(wǎng)絡中可能會被安全策略所過濾而無法工作。

Active RTT測量會產(chǎn)生額外的DNS Query或ICMP流量,在有些網(wǎng)絡中用戶不希望有太多類似的非用戶流量。

b) Passive RTT測量:

Passive RTT測量指從內(nèi)容站點收到一個用戶發(fā)出連接請求(發(fā)送TCN SYN)到接收到用戶的確認(收到TCP ACK)所經(jīng)歷的時間。而不是簡單的PING的響應時間,可以更精確的衡量訪問最快的站點。

Passive RTT測量不會主動去進行測量,也不會產(chǎn)生額外的數(shù)據(jù)流量,而是在用戶向返回的VIP建立連接時進行采集。

Passive RTT的測量值真正反映了用戶的上網(wǎng)感受,在運營商網(wǎng)絡中也不會產(chǎn)生額外流量。也不會受到其他運營商或網(wǎng)絡的安全策略的影響。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務器
    +關(guān)注

    關(guān)注

    13

    文章

    9770

    瀏覽量

    87759
  • CDN
    CDN
    +關(guān)注

    關(guān)注

    0

    文章

    328

    瀏覽量

    29634
  • 負載均衡
    +關(guān)注

    關(guān)注

    0

    文章

    122

    瀏覽量

    12586

原文標題:全局負載均衡與CDN內(nèi)容分發(fā)

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    云計算架構(gòu)76 #云計算 #負載均衡 #cdn#硬聲創(chuàng)作季

    負載云計算CDN
    學習硬聲知識
    發(fā)布于 :2022年10月21日 08:50:12

    CDN加速是什么及作用! 新手站長論壇

    什么是CDN加速,不清楚的可以直接了解 CDN的英文全稱是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡,也稱為內(nèi)容傳輸網(wǎng)
    發(fā)表于 08-23 13:38

    內(nèi)容分發(fā)網(wǎng)絡(CDN)的發(fā)展與應用

    內(nèi)容分發(fā)網(wǎng)絡( CDN ) 技術(shù)的出現(xiàn), 使傳統(tǒng)的Web訪問的數(shù)據(jù)傳輸方式得到很大的改進。它通過應用層的內(nèi)容智能路由技術(shù), 保證用戶實現(xiàn)就近訪問, 大大改善了Web訪問性能。
    發(fā)表于 04-17 14:45 ?21次下載
    <b class='flag-5'>內(nèi)容</b><b class='flag-5'>分發(fā)</b>網(wǎng)絡(<b class='flag-5'>CDN</b>)的發(fā)展與應用

    基于CDN內(nèi)容分發(fā)的研究與應用

    內(nèi)容分發(fā)網(wǎng)絡(CDN)技術(shù)是近年來在美國首先興起并迅速發(fā)展起來的一種解決互聯(lián)網(wǎng)性能不佳問題的有效手段。CDN 系統(tǒng)能夠?qū)崟r地根據(jù)網(wǎng)絡流量和個節(jié)點的聯(lián)接、
    發(fā)表于 04-17 14:46 ?25次下載
    基于<b class='flag-5'>CDN</b><b class='flag-5'>內(nèi)容</b><b class='flag-5'>分發(fā)</b>的研究與應用

    分布式超梯度的對偶分解CDN負載管理算法

    的延遲,例如在電子郵件和社交網(wǎng)絡等領(lǐng)域應用。在網(wǎng)絡中,路由到遠程代理會引入額外往返延遲,而路由到重載代理會導致請求被丟棄。因此,為充分利用資源,需要對負載進行平衡。 為提高內(nèi)容分發(fā)網(wǎng)絡( CD
    發(fā)表于 01-19 16:21 ?0次下載
    分布式超梯度的對偶分解<b class='flag-5'>CDN</b><b class='flag-5'>負載</b>管理算法

    談談CDN中隱藏的DNS技術(shù) CDN的工作過程是怎樣的

    CDN(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡)是依靠部署在各地的邊緣服務器,通過中心平臺的負載均衡、調(diào)度等功能,可
    發(fā)表于 06-28 07:21 ?4317次閱讀

    CDN防御技術(shù)對文件下載視頻直播網(wǎng)站的作用

    Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡。CDN是在現(xiàn)有Internet基礎(chǔ)上增加一種新的網(wǎng)絡架構(gòu),通過部署邊緣服務器,采用負載均衡
    發(fā)表于 03-30 10:11 ?572次閱讀

    CDN加速和CDN防御是如何操作到服務器的

    服務器,通過中心平臺的負載均衡內(nèi)容分發(fā)、調(diào)度等功能模塊,使用戶就近獲取所需內(nèi)容,降低網(wǎng)絡擁塞,提高用戶訪問響應速度和命中率。
    發(fā)表于 04-21 10:03 ?688次閱讀

    廣電融合CDN內(nèi)容分發(fā)系統(tǒng)

    ./oschina_soft/gitee-cdn.zip
    發(fā)表于 06-16 14:26 ?0次下載
    廣電融合<b class='flag-5'>CDN</b><b class='flag-5'>內(nèi)容</b><b class='flag-5'>分發(fā)</b>系統(tǒng)

    cdn如何才能快速、可靠、安全地交付內(nèi)容

    內(nèi)容分發(fā)網(wǎng)絡(cdn)在我們的數(shù)字世界中變得越來越重要,它確保了內(nèi)容在互聯(lián)網(wǎng)上的快速有效分發(fā)。隨著對流媒體、電子商務和云應用程序的需求不斷增
    的頭像 發(fā)表于 06-14 09:53 ?757次閱讀

    CDN應用的三大技術(shù)及五大優(yōu)點

    內(nèi)容分發(fā)網(wǎng)絡(CDN)是一個經(jīng)策略性部署的整體系統(tǒng),包括分布式存儲、負載均衡、網(wǎng)絡請求的重定向和內(nèi)容
    的頭像 發(fā)表于 07-11 16:19 ?975次閱讀
    <b class='flag-5'>CDN</b>應用的三大技術(shù)及五大優(yōu)點

    火傘云融合CDN跟傳統(tǒng)CDN的區(qū)別

    是ContentDeliveryNetwork,即內(nèi)容分發(fā)網(wǎng)絡。CDN是構(gòu)建在網(wǎng)絡之上的內(nèi)容分發(fā)網(wǎng)絡,依靠部署在各地的邊緣服務器,通過中心平
    的頭像 發(fā)表于 07-31 17:37 ?1264次閱讀
    火傘云融合<b class='flag-5'>CDN</b>跟傳統(tǒng)<b class='flag-5'>CDN</b>的區(qū)別

    CDN應用的三大技術(shù)及五大優(yōu)點

    CDN應用的三大技術(shù)CDN的實現(xiàn)需要依賴多種網(wǎng)絡技術(shù),如負載均衡技術(shù)、動態(tài)內(nèi)容分發(fā)與復制技術(shù)、緩
    的頭像 發(fā)表于 07-31 23:59 ?959次閱讀
    <b class='flag-5'>CDN</b>應用的三大技術(shù)及五大優(yōu)點

    流媒體內(nèi)容分發(fā)終極解決方案:當融合CDN與P2P視頻交付結(jié)合

    超大規(guī)模內(nèi)容分發(fā)傳送應用的內(nèi)容分發(fā)平臺提供了機會,火傘云也希望能夠為大家提供更優(yōu)質(zhì)的大規(guī)模流媒體內(nèi)容分發(fā)
    的頭像 發(fā)表于 08-23 10:33 ?965次閱讀
    流媒體<b class='flag-5'>內(nèi)容</b><b class='flag-5'>分發(fā)</b>終極解決方案:當融合<b class='flag-5'>CDN</b>與P2P視頻交付結(jié)合

    華納云:如何理解內(nèi)容分發(fā)網(wǎng)絡(CDN

    分發(fā)網(wǎng)絡(CDN)是一種網(wǎng)絡架構(gòu),旨在提高用戶對網(wǎng)站、應用程序或其他互聯(lián)網(wǎng)內(nèi)容的訪問速度和性能。CDN 的主要原理是通過在全球范圍內(nèi)部署分布式服務器,將
    的頭像 發(fā)表于 09-27 16:26 ?495次閱讀