主頁 > 軟體設計 > CDN - CDN架設、CDN產品介紹、CDN加速原理、CDN負載均衡

CDN - CDN架設、CDN產品介紹、CDN加速原理、CDN負載均衡

2023-01-14 07:27:29 軟體設計

隨著互聯網的發展,用戶在使用網路時對網站的瀏覽速度和效果愈加重視,但由于網民數量激增,網路訪問路徑過長,從 而使用戶的訪問質量受到嚴重影響,特別是當用戶與網站之間的鏈路被突發的大流量資料擁塞時,對于異地互聯網用戶急速增加的地區來說,訪問質量不良更是一個 急待解決的問題,如何才能讓各地的用戶都能夠進行高質量的訪問,并盡量減少由此而產生的費用和網站管理壓力呢?內容發布網路(Content Delivery Network,CDN)誕生了,

 

一、CDN是什么?
CDN的全稱是Content Delivery Network,即內容分發網路,其目的是通過在現有的Internet中增加一層新的網路架構,將網站的內容發布到最接近用戶的網路“邊緣”,使用戶可 以就近取得所需的內容,提高用戶訪問網站的回應速度,CDN有別于鏡像,因為它比鏡像更智能,或者可以做這樣一個比喻:CDN=更智能的鏡像+快取+流量 導流,因而,CDN可以明顯提高Internet網路中資訊流動的效率,從技術上全面解決由于網路帶寬小、用戶訪問量大、網點分布不均等問題,提高用戶訪 問網站的回應速度,

為更好地理解CDN,讓我們看一下CDN的作業流程,當用戶訪問已經加入CDN服務的網站時,首先通過DNS重定向技術確定最接近用戶的最佳CDN節點, 同時將用戶的請求指向該節點,當用戶的請求到達指定節點時,CDN的服務器(節點上的高速快取)負責將用戶請求的內容提供給用戶,具體流程為: 用戶在自己的瀏覽器中輸入要訪問的網站的域名,瀏覽器向本地DNS請求對該域名的決議,本地DNS將請求發到網站的主DNS,主DNS根據一系列的策略確 定當時最適當的CDN節點,并將決議的結果(IP地址)發給用戶,用戶向給定的CDN節點請求相應網站的內容,

二、CDN的相關技術
CDN的實作需要依賴多種網路技術的支持,其中負載均衡技術、動態內容分發與復制技術、快取技術是比較主要的幾個,下面讓我們簡單看一下這幾種技術,

負載均衡技術

負載均衡技術不僅僅應用于CDN中,在網路的很多領域都得到了廣泛的應用,如服務器的負載均衡、網路流量的負載均衡,顧名思義,網路中的負載均衡就是將網 絡的流量盡可能均勻分配到幾個能完成相同任務的服務器或網路節點上,由此來避免部分網路節點過載,這樣既可以提高網路流量,又提高了網路的整體性能,在 CDN中,負載均衡又分為服務器負載均衡和服務器整體負載均衡(也有的稱為服務器全域負載均衡),服務器負載均衡是指能夠在性能不同的服務器之間進行任務 分配,既能保證性能差的服務器不成為系統的瓶頸,又能保證性能高的服務器的資源得到充分利用,而服務器整體負載均衡允許Web網路托管商、門戶站點和企業 根據地理位置分配內容和服務,通過使用多站點內容和服務來提高容錯性和可用性,防止因本地網或區域網路中斷、斷電或自然災害而導致的故障,在CDN的方案 中服務器整體負載均衡將發揮重要作用,其性能高低將直接影響整個CDN的性能,

動態內容分發與復制技術

大家都知道,網站訪問回應速度取決于許多因素,如網路的帶寬是否有瓶頸、傳輸途中的路由是否有阻塞和延遲、網站服務器的處理能力及訪問距離等,多數情況 下,網站回應速度和訪問者與網站服務器之間的距離有密切的關系,如果訪問者和網站之間的距離過遠的話,它們之間的通信一樣需要經過重重的路由轉發和處理, 網路延誤不可避免,一個有效的方法就是利用內容分發與復制技術,將占網站主體的大部分靜態網頁、影像和流媒體資料分發復制到各地的加速節點上,所以動態內 容分發與復制技術也是CDN所需的一個主要技術,

快取技術

快取技術已經不是一種新鮮技術,Web快取服務通過幾種方式來改善用戶的回應時間,如代理快取服務、透明代理快取服務、使用重定向服務的透明代理快取服務 等,通過Web快取服務,用戶訪問網頁時可以將廣域網的流量降至最低,對于公司行內網用戶來說,這意味著將內容在本地快取,而無須通過專用的廣域網來檢索 網頁,對于Internet用戶來說,這意味著將內容存盤在他們的ISP的快取器中,而無須通過Internet來檢索網頁,這樣無疑會提高用戶的訪問速 度,CDN的核心作用正是提高網路的訪問速度,所以,快取技術將是CDN所采用的又一個主要技術,

三、誰需要CDN?
既然CDN的核心作用是提高網路的訪問速度,那么其用戶也就是訪問量很大的網站,例如ICP 、ISP、大型企業、電子商務網站和政府網站等,利用CDN技術,這些網站無需投資昂貴的各類服務器,設立分站點,通過采用CDN,CDN將負責資訊傳遞 作業,保證資訊正常傳輸,而技術人員只需要維護網站內容,不需要考慮流量問題,這樣,網站可保證用戶得到更多的新業務,可以快速訪問網路上的內容,獲得更 好的服務質量,舉個例子來講,對于訪問量比較大,而被訪問內容更新周期比較長的網站,如政府網站,用戶往往進行大量的查詢作業,這類網站比較適合采用 CDN,還有,大家是否注意到,在所謂的寬帶社區中,瓶頸是社區的對外出口,這樣,如果采用CDN無疑對社區用戶使用視頻點播、網路教育等寬帶應用提供了 保證,

四、CDN的不足
任何一個新事物,在給現有模式帶來改進的同時,也必然存在一定的局限,CDN也是這樣,據互聯通網路有限公司的技術經理郭廣中講,實時性不太好是CDN的 致命缺陷,隨著對CDN需求的逐漸升溫,這一缺陷將得到改進,使來自于遠程服務器的網路內容網頁與復本服務器或快取器中的網頁保持同步,解決方法是在網路 內容發生變化時將新的網路內容從服務器端直接傳送到快取器,或者當對網路內容的訪問增加時將資料源服務器的網路內容盡可能實時地復制到快取服務器,

???????微信:HRdajisi
???????釘釘:馬新宇 09455510168
???????letstalk:t395300395
???????telegram:@xiaobai04 @HRdajisi
???????谷歌郵箱: [email protected]
???????Skype: live:.cid.d850fdc83f05e44a
遠程崗位
后端golang:35歲以內,統招本科,必須有IM經驗
遠程UI設計師:10年以上經驗
遠程CDN 研發

 

五、CDN產品
目前,推出比較成熟的CDN產品的廠家有Cisco、F5和互聯通公司等,前兩者的CDN是以硬體系統為主,而后者的CDN是以軟體為主的通用平臺,很好地結合了線路和服務優勢,下面簡單分析一下互聯通的CDN——Smart CDN,

互聯通采用整體負載均衡(GSLB)、快取技術(Cache)及鏡像技術(Mirror)相結合的方法,為客戶提供異地網路加速服務,具體方案是在網站主 站點以外的用戶集中城市、地區使用互聯通的網路加速服務,互聯通智能GSLB系統通過互聯通專網,引導網站用戶訪問“最佳”Cache/Mirror服務 器,從而繞過互聯網擁堵鏈路,減輕主站點服務器負載,實作異地網路加速,并解決了單純Cache/Mirror不能解決的難題,

Smart CDN通過DNS決議或HTTP重定向兩種方式作業,通過Cache服務器或異地的鏡像站點完成內容的傳送與同步更新,DNS方式用戶位置判斷準確率大于 85%,HTTP方式準確率為99%以上,經實際測算,各Cache服務器群的用戶訪問流入資料量與Cache服務器到原始網站取內容的資料量之比在 2:1到3:1之間,即分擔50%~70%的到原始網站重復訪問資料量(主要是圖片、流媒體檔案等內容),對于鏡像,除資料同步的流量,其余均在本地完 成,不訪問原始服務器,

Smart CDN系統基于用戶實際訪問的IP地址判斷用戶位置,直接將用戶訪問指向回應速度最快的站點,整個系統管理簡單,用戶可通過GUI確定有哪些內容需要做分 布式分發,系統會自動完成內容的復制、更新及資料庫同步的全程序,并且,系統具有自診斷、負載均衡的能力,任何環節發生故障,不會影響整個系統的可訪問 性,

可以說,負載均衡技術在CDN中發揮著重要的作用,其能力高低對CDN的性能產生直接影響,Smart CDN所采用的負載均衡具有一定的優勢,主要體現在如下幾個方面,

1. 高智能化

運用虛擬IP(VIP)地址代表目標服務器和應用,Smart CDN將會話分配到最高可用性的服務器,全程監控每個會話,服務恢復后自動重新登記,并在轉發客戶機和服務器資訊包時提供全地址轉換,Smart CDN采用了包括回圈法、最少連接法、散列法或最少失誤法等多種不同的負載均衡方法,并對個別服務器配置最大連接數量閾值和加權值,這樣可以有效避免服務 器超載,

2. 高可靠性

Smart CDN架構在互聯通專用的高速骨干網之上,該主干網路提供延遲極小的網路連通性,從而保障GSLB的功能正常發揮和高性能,優于基于公網的GSLB,并 且,當主站點機房的Internet出口出現故障時,Smart CDN還能將用戶自動、透明地從其他分站點Internet入口導向主站點服務器,從而提高了網路的可靠性,

3. 高可用性

采用熱備份方法,在極短時間內對服務器鏈路、交換埠和交換機進行檢測和故障轉移,使應用免受故障影響,一旦任何一個服務器或服務器群發生故障或阻塞,用戶將被自動引導到下一個最佳備份服務器或站點,從而更進一步提高了服務和內容的可用性,

4. 高冗余性

Smart CDN運行在互聯通“三環嵌套”網路主干架構之上,具有高冗余特點,從而保證了高可靠性和高可用性,這一點和其他基于公網的GSLB解決方案有很大差別,

另外,Smart CDN在服務上的優勢體現在: 通過互聯通專有鏈路系統,可提高用戶訪問的回應速度;保證了兩岸三地區域內多點多地服務器內容同步;消除了峰值訪問(Peak Load)對出口鏈路及服務器性能的壓力;提高了租用鏈路的帶寬利用率; 降低了原始Web/FTP網站的負載等,
-----------------------------------
CDN - CDN架設、CDN產品介紹、CDN加速原理
https://blog.51cto.com/u_10980859/5303235

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/541969.html

標籤:架構設計

上一篇:淺談服務介面的高可用設計

下一篇:讀編程與型別系統筆記06_函式型別的高級應用

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more