1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        全局負載均衡、CDN內(nèi)容分發(fā)的原理與實踐

        共 4613字,需瀏覽 10分鐘

         ·

        2021-07-17 11:07


        -     CDN 簡介    - 


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


        CDN的關鍵技術主要有內(nèi)容存儲和分發(fā)技術。簡而言之,就是將數(shù)據(jù)部署在各地的服務器中,通過負載均衡技術,讓用戶就近獲取服務器中的數(shù)據(jù)。



        -     CDN 原理    - 


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


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


        CDN的基本思路是盡可能避開互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使內(nèi)容傳輸?shù)母?、更穩(wěn)定。


        通過在網(wǎng)絡各處放置節(jié)點服務器所構成的在現(xiàn)有的互聯(lián)網(wǎng)基礎之上的一層智能虛擬網(wǎng)絡,CDN系統(tǒng)能夠實時地根據(jù)網(wǎng)絡流量和各節(jié)點的連接、負載狀況以及到用戶的距離和響應時間等綜合信息將用戶的請求重新導向離用戶最近的服務節(jié)點上。其目的是使用戶可就近取得所需內(nèi)容,解決 Internet網(wǎng)絡擁擠的狀況,提高用戶訪問網(wǎng)站的響應速度。


        -     CDN 的價值    - 


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

        1. 節(jié)省骨干網(wǎng)帶寬,減少帶寬需求量;
        2. 提供服務器端加速,解決由于用戶訪問量大造成的服務器過載問題;
        3. 服務商能使用Web Cache技術在本地緩存用戶訪問過的Web頁面和對象,實現(xiàn)相同對象的訪問無須占用主干的出口帶寬,并提高用戶訪問因特網(wǎng)頁面的相應時間的需求;
        4. 能克服網(wǎng)站分布不均的問題,并且能降低網(wǎng)站自身建設和維護成本;
        5. 降低“通信風暴”的影響,提高網(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ù)中心)的一個透明鏡像。這樣的架構使得CDN服務提供商能夠代表他們客戶,即內(nèi)容供應商,向最終用戶提供盡可能好的體驗,而這些用戶是不能容忍請求響應時間有任何延遲的。


        -     全局負載均衡    - 


        全局負載均衡(Global Server Load Balance, GSLB),全局負載均衡是指對分別放置在不同的地理位置的服務器群間作負載均衡。

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


        -     服務器群選擇    - 


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

        臨近機制主要考察服務器群與用戶之間的物理距離。選擇地理位置最接近用戶的服務器集群,可以減少服務響應到達用戶所經(jīng)過的中轉次數(shù),從而降低中轉節(jié)點對服務質量的影響。

        常見的有兩種方式,一種是靜態(tài)配置,例如根據(jù)靜態(tài)的IP地址配置表進行IP地址到服務器群的映射。另一種方式是動態(tài)的檢測,例如實時地探測到目標IP的距離(可以采用到達目標IP經(jīng)過的跳數(shù)作為度量單位),然后比較探測結果進行選擇。

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

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


        -     基于 DNS 的 GSLB    - 


        用戶訪問某個網(wǎng)站時,需要首先通過域名解析服務(DNS)獲得網(wǎng)站的IP。域名解析通常不是一次性完成的,常常需要查詢?nèi)舾刹煌挠蛎掌鞑拍苷业綄腎P。

        如下圖所示,用戶首先在本地配置一個本地DNS服務器地址,本地DNS服務器收到DNS請求后若不能解析,會將請求轉發(fā)給更高一級的DNS服務器直到找到域名對應的IP或確定域名不存在。

        對于加入了GSLB的情況,一個GSLB設備(可能是一個4層交換機)會最終代替DNS服務器完成域名解析。

        下圖展示兩種流程的不同:


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


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

        缺點是:當GSLB設備采用“用戶就近訪問”的原則作為選擇最優(yōu)服務器的策略時,會存在判斷不準的現(xiàn)象。

        原因是在這種策略下,GSLB設備是根據(jù)用戶IP地址和內(nèi)容服務器IP地址比較來判斷其就近性的,但由于DNS響應是通過本地DNS服務器到達用戶的,GSLB設備實際上只能得到用戶的本地DNS服務器地址,若用戶指定的DNS服務器IP不能正確代表用戶的實際位置,就會出現(xiàn)判斷不準的現(xiàn)象。


        -     基于 HTTP 重定向的 GSLB    - 


        為了解決基于DNS實現(xiàn)方式判斷不準的問題,又出現(xiàn)了基于HTTP重定向的GSLB。

        這種方案中GSLB使用HTTP重定向技術,將用戶訪問重定向到最合適的服務器上。

        使用基于HTTP重定向方案,首先在DNS中將GSLB設備的IP地址登記為域名的A記錄(既域名對應的IP)。

        如上圖所示,用戶首先通過DNS得到GSLB設備的IP地址,此時用戶以為這就是站點服務器的IP,并向其發(fā)送HTTP請求。

        GSLB設備收到HTTP請求后使用一定策略選擇一個最合適的服務器,然后GSLB設備向用戶發(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。
        基于IP欺騙的方案同樣需要首先將GSLB設備的IP地址在DNS中登記為域名的A記錄,這樣用戶對該域名的請求包都會先發(fā)送到GSLB設備。

        如上圖所示,GSLB設備首次收到服務請求包后,會選擇一個最合適的服務器,并將服務請求包發(fā)送到該服務器。服務器在向用戶發(fā)送響應包時,將其源IP地址字段改為GSLB設備的IP,發(fā)送給用戶。

        這樣,整個過程對用戶來說,感覺到的只是GSLB設備在為其提供服務,并不知道其中經(jīng)歷這樣一個三角傳輸?shù)倪^程。

        而且這種方案可以對所有類型的訪問如HTTP、FTP等進行重定向,但其速度和效率相對比前兩種方案要差一點,因為用戶所有的訪問請求都通過三個點才能響應,經(jīng)歷了更多的路徑和處理,所以其主要作為HTTP重定向方案的補充方案在同一GSLB設備中實現(xiàn)。


        -     服務器群選擇策略    - 


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

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

        2)IP地址權重:可以為DNS應答中的每個IP地址分配權重,權重決定與其他候選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會通知所有站點負載均衡設備對該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)絡的安全策略的影響。


        作者:等不到的口琴

        來源:

        https://www.cnblogs.com/Courage129/p/14363627.htm

        瀏覽 69
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            欧美亚洲天堂 | 乱伦视频网站 | 阿娇张开腿实干12次视频 | 成品短视频app软件大全苹果版 | 秋霞影视一区二区三区 | 欧美黄片网站 | 九九九精品视频免费观看 | 免费久久一级欧美特大黄 | 做爱喷水视频 | 肏屄电影网站 |