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

来源:https://www.cnblogs.com/blueice1204/archive/2023/01/13/17050018.html
-Advertisement-
Play Games

隨著互聯網的發展,用戶在使用網路時對網站的瀏覽速度和效果愈加重視,但由於網民數量激增,網路訪問路徑過長,從 而使用戶的訪問質量受到嚴重影響。特別是當用戶與網站之間的鏈路被突發的大流量數據擁塞時,對於異地互聯網用戶急速增加的地區來說,訪問質量不良更是一個 急待解決的問題。如何才能讓各地的用戶都能夠進行 ...


隨著互聯網的發展,用戶在使用網路時對網站的瀏覽速度和效果愈加重視,但由於網民數量激增,網路訪問路徑過長,從 而使用戶的訪問質量受到嚴重影響。特別是當用戶與網站之間的鏈路被突發的大流量數據擁塞時,對於異地互聯網用戶急速增加的地區來說,訪問質量不良更是一個 急待解決的問題。如何才能讓各地的用戶都能夠進行高質量的訪問,並儘量減少由此而產生的費用和網站管理壓力呢?內容發佈網路(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需求的逐漸升溫,這一缺陷將得到改進,使來自於遠程伺服器的網路內容網頁與複本伺服器或緩存器中的網頁保持同步。解決方法是在網路 內容發生變化時將新的網路內容從伺服器端直接傳送到緩存器,或者當對網路內容的訪問增加時將數據源伺服器的網路內容儘可能實時地複製到緩存伺服器。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 著意登樓瞻玉兔,何人張幕遮銀闕?又到了一年一度的網頁小掛件環節,以往我們都是集成別人開源的組件,但所謂熟讀唐詩三百首,不會做詩也會吟,熟讀了別人的東西,做幾首打油詩也是可以的,但若不能自出機抒,卻也成不了大事,所以本次我們從零開始製作屬於自己的網頁小掛件,博君一曬。 玉兔主題元素繪製 成本最低的繪製 ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 一、audio標簽的使用 1、Audio 對象屬性 2、對象方法 二、效果 效果如下: 三、代碼 代碼如下: MusicPlayer.vue <template> <div class="music"> <!-- 占位 --> <div ...
  • 摘要:輸入網址並點回車,後臺到底發生了什麼。透析 HTTP 協議與 TCP 連接之間的千絲萬縷的關係。掌握為何是三次握手四次揮手?time_wait 存在的意義是什麼?全面圖解重點問題,再也不用擔心面試問這個問題。 本文分享自華為雲社區《輸入網址,小手一點,後面到底發生了什麼?》,作者:龍哥手記。 ...
  • 1.按鈕點擊後添加loading,介面返回成功後再移除loading(經過多次嘗試發現,此方法不能完全確保只調用一次介面,第二次添加時仍會多次調用介面),方法如下: html代碼: <el-button @click="onSave" :loading="onLoading">保存</el-butt ...
  • JavaScript 中,對於普通對象,不能直接使用 length 來獲取對象的長度,因為 JavaScript 對象並不是一種有序的集合,沒有長度的概念。 對於數組或者類數組對象,可以使用 .length 來獲取它們的長度,因為它們是有序集合。 對於字元串也可以使用.length來獲取長度,因為字... ...
  • 我們是袋鼠雲數棧 UED 團隊,致力於打造優秀的一站式數據中台產品。我們始終保持工匠精神,探索前端道路,為社區積累並傳播經驗價值。 前言 訪問控制(Access control)是指對訪問者向受保護資源進行訪問操作的控制管理。該控制管理保證被授權者可訪問受保護資源,未被授權者不能訪問受保護資源。 現 ...
  • 在 CSS 中,倒影是一種比較常見的效果。今天,我們就將嘗試,使用 CSS 完成各類不同的倒影效果,話不多說,直接進入主題。 實現倒影的兩種方式 首先,快速過一下在 CSS 中,實現倒影的 2 種方式。 使用 -webkit-box-reflect 正常而言,-webkit-box-reflect ...
  • 基於AWS雲SaaS多租戶架構設計租戶與用戶概念單租戶與多租戶多租戶的好處 採用多租戶架構方法將為你的SaaS應用程式帶來廣泛的有價值的好處。 讓我們來看看下麵的貢獻。 a) 利用多租戶架構策略,減少伺服器基礎設施成本。 與其為每個客戶創建一個SaaS環境,不如為所有客戶提供一個應用環境。這使你的A ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...