什么是CDN ,CDN的作用

轉自:https://baike.baidu.com/item/CDN/420951?fr=aladdin

簡介

CDN是構建在網絡之上的內容分發網絡,依靠部署在各地的邊緣服務器,通過中心平臺的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,降低網絡擁塞,提高用戶訪問響應速度和命中率。CDN的關鍵技術主要有內容存儲和分發技術。

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

?

CDN的全稱是Content Delivery Network,即內容分發網絡。其基本思路是盡可能避開互聯網上有可能影響數據傳輸速度和穩定性的瓶頸和環節,

使內容傳輸的更快、更穩定。通過在網絡各處放置節點服務器所構成的在現有的互聯網基礎之上的一層智能虛擬網絡,CDN系統能夠實時地根據網絡

流量和各節點的連接、負載狀況以及到用戶的距離和響應時間等綜合信息將用戶的請求重新導向離用戶最近的服務節點上。其目的是使用戶可就近取得

所需內容,解決 Internet網絡擁擠的狀況,提高用戶訪問網站的響應速度。

?

服務模式

內容分發網絡(CDN)是一種新型網絡構建方式,它是為能在傳統的IP網發布寬帶豐富媒體而特別優化的網絡覆蓋層;而從廣義的角度,CDN代表了一種基于質量與秩序的網絡服務模式。

簡單地說,內容分發網絡(CDN)是一個經策略性部署的整體系統,包括分布式存儲、負載均衡、網絡請求的重定向和內容管理4個要件,而內容管理和全局的網絡流量管理(Traffic Management)是CDN的核心所在。通過用戶就近性和服務器負載的判斷,CDN確保內容以一種極為高效的方式為用戶的請求提供服務。

總的來說,內容服務基于緩存服務器,也稱作代理緩存(Surrogate),它位于網絡的邊緣,距用戶僅有"一跳"(Single Hop)之遙。同時,代理緩存是內容提供商源服務器(通常位于CDN服務提供商的數據中心)的一個透明鏡像。這樣的架構使得CDN服務提供商能夠代表他們客戶,即內容供應商,向最終用戶提供盡可能好的體驗,而這些用戶是不能容忍請求響應時間有任何延遲的。

應用對比

首先簡單表述一下傳統的動態系統的訪問方法:

如右圖示(一)表述的是用戶的請求過程,用戶經過網絡中的路由A、B的傳輸,最終將發送的請求交于動態系統來處理,但是由于IP網絡本身的“盡力而為的原則”、網絡鏈路中復雜的環境及硬件的不可靠性的確實存在,致使用戶要出現重復發送的請求的現狀,所以最終導致用戶的請求在提交的過程中出現等待、數據加載時間過長的一些現象的普遍存在,這些在線提交式系統的緩慢直接地影響到辦公人員的工作效率,這也是制約著很多大型企業在

?

協同辦公OA、ERP、SAP等信息化建設中,出現最多的問題。

而CDN分發解決方案解決了與靜態網站相關的性能和可靠性問題,而在當今在線業務體驗中,與分發靜態和動態元素和應用相關的獨特挑戰,則由速網的動態網站加速(動態網站加速)來解決。

關鍵技術

(1)內容發布:它借助于建立索引、緩存、流分裂、組播(Multicast)等技術,將內容發布或投遞到距離用戶最近的遠程服務點(POP)處;

(2)內容路由:它是整體性的網絡負載均衡技術,通過內容路由器中的重定向(DNS)機制,在多個遠程POP上均衡用戶的請求,以使用戶請求得到最近內容源的響應;

(3)內容交換:它根據內容的可用性、服務器的可用性以及用戶的背景,在POP的緩存服務器上,利用應用層交換、流分裂、重定向(ICP、WCCP)等技術,智能地平衡負載流量;

(4)性能管理:它通過內部和外部監控系統,獲取網絡部件的狀況信息,測量內容發布的端到端性能(如包丟失、延時、平均帶寬、啟動時間、幀速率等),保證網絡處于最佳的運行狀態。

主要特點

1、本地Cache加速 提高了企業站點(尤其含有大量圖片和靜態頁面站點)的訪問速度,并大大提高以上性質站點的穩定性

2、鏡像服務 消除了不同運營商之間互聯的瓶頸造成的影響,實現了跨運營商的網絡加速,保證不同網絡中的用戶都能得到良好的訪問質量。

3、遠程加速?遠程訪問用戶根據DNS負載均衡技術智能自動選擇Cache服務器,選擇最快的Cache服務器,加快遠程訪問的速度

4、帶寬優化 自動生成服務器的遠程Mirror(鏡像)cache服務器,遠程用戶訪問時從cache服務器上讀取數據,減少遠程訪問的帶寬、分擔網絡流量、減輕原站點WEB服務器負載等功能。

5、集群抗攻擊 廣泛分布的CDN節點加上節點之間的智能冗余機制,可以有效地預防黑客入侵以及降低各種D.D.o.S攻擊對網站的影響,同時保證較好的服務質量 。

產品優勢

CDN能幾乎涵蓋國內所有線路。而在可靠性上, CDN 在結構上實現了多點的冗余,即使某一個節點由于意外發生故障,對網站的訪問能夠被自動導向其他的健康節點進行響應。CDN能輕松實現網站的全國鋪設,不必考慮服務器的投入與托管、不必考慮新增帶寬的成本、不必考慮多臺服務器的鏡像同步、不必考慮更多的管理維護技術人員。

?

內容存儲技術

CDN需要考慮兩個方面的內容存儲問題,一個是內容源的集中存儲,另一個是內容在Cache節點中的分布式存儲。由于內容的規模比較大,內容的吞吐量較大,因此,通常采用海量存儲架構。目前常用的存儲技術主要有直連附加存儲(DAS)、網絡附加存儲(NAS)和存儲區域網(SAN)。

DAS是直接連接在各種服務器或客戶端擴展接口下的數據存儲設備,完全以服務器為中心,寄生在相應服務器或客戶端上,本身是硬件的堆疊,不帶有任何存儲操作系統,網絡客戶端通過訪問服務器瀏覽存儲設備的信息。NAS可以提供高速的數據I/O訪問,降低了媒體服務器由于相應數據訪問請求而承擔的CPU負荷,使媒體服務器性能得到大幅提升,NAS把數據放在同一個服務器里讓不同用戶共享。SAN允許服務器在共享存儲裝置的同時仍能高速傳送數據,共享式區域網絡通過高速連接將服務器與存儲介質相互連通,具有可擴展性高、可用性高和容錯能力強的優點,可以輕松升級,易于管理,有助于改善整個系統的成本狀況。

HFMS是針對流媒體內容海量存儲開發的一種文件存儲技術,針對傳統的采用直接文件復制帶來的種種弊端,采用Segment技術,以流廣播形式傳送新復制的片段,到終端用戶處的總延遲在50ms以內,用戶不容易察覺到。在極端情況下,當所有用戶都在同一時間觀看同一熱門節目的片段時,可同時以廣播形式播放。HMFS實現了流媒體內容的分段存儲和服務,提升了系統服務性能。

對于VOD內容的存儲,可以根據網絡規模,采用不同的存儲方案。對于小規模網絡,可以采用DAS;中等規模的網絡采用NAS;對于大規模的網絡可以采用SAN存儲方案。根據數據量大和實時性強的特點,建議采用SAN和HMFS結合存儲技術進一步優化流媒體數據存儲。

媒體內容分發技術

內容分發技術是通過網絡的構建減小IP骨干網絡的傳輸壓力,將連接到IP網絡上的內容迅速分發到用戶終端。CDN主要由初始服務器、分布在邊緣的緩存服務器、重定向DNS服務器和內容交換服務器組成。初始服務器負責生成服務器信息內容;緩存服務器負責存儲初始服務器的部分或全部信息內容;重定向DNS服務器向用戶提供最近的服務器IP地址,減輕骨干網的壓力;內容交換服務器完成各緩存服務器之間的負載均衡功能;內容管理服務器負責整個網絡各緩存服務器中存儲的內容的管理,為各緩存服務器制定相應的緩存策略,以提高緩存服務器的服務質量。

①分段分發技術

流媒體對邊緣內容的完整性沒有要求,節點只需存儲少量的節目或節目片段即可實時推送內容,為用戶提供完整的服務。當用戶點播的內容只有部分片段或沒有時,系統將采用分發技術進行內容的快速分發。

②部分分發技術

部分分發技術可提升邊緣系統的命中率,如果對10%的內容采用全復制,20%的內容采用50%復制,50%的內容采用10%復制,那么,系統可以實現95%以上的命中率,大大降低骨干網的負荷,具有優越的分發性能。

負載均衡技術

負載均衡是整個CDN的核心,負載均衡的準確性和效率直接決定了整個CDN的效率和性能。

負載均衡技術將網絡的流量盡可能均勻地分配到幾個能完成相同任務的服務器或網絡節點上進行處理,避免部分網絡節點過載而另一部分節點空閑的不利狀況,既可以提高網絡流量,又可以提高網絡的整體性能。

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451008.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451008.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451008.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

docker 中不能用vim編輯文件

2019獨角獸企業重金招聘Python工程師標準>>> docker 中不能用vim編輯文件 2017年08月28日 16:54:29 閱讀數:2061 更新來源 apt-get update 1安裝vim apt-get install -y vim 轉載于:https://my.oschina.net/u/3367404/blog/1923901

使用final修飾局部變量???

在編程中我們偶爾會看到如下的代碼: public void foo(final int arg){final int localData 0;// ...}以及與之相似的代碼 public void foo(int arg){int localData 0;// ...}這兩段代碼的主要區別就是:局部變量是否使用了final關鍵字修飾。有同學可能會…

視頻編解碼概述

視頻編解碼概述 1. 常用的基本知識 基本概念 編解碼 編解碼器(codec)指的是一個能夠對一個信號或者一個數據流進行變換的設備或者程序。這里指的變換既包括將信號或者數據流進行編碼(通常是為了傳輸、存儲或者加密)或者提取得到…

洛谷 2759 奇怪的函數

【題解】 取個對數然后二分即可。對于一個數x&#xff0c;x^x的位數就是(int)(lg(x)*x1). 1 #include<cstdio>2 #include<cstring>3 #include<algorithm>4 #include<cmath>5 #define LL long long6 #define rg register7 #define N 2000108 using name…

區塊鏈技術怎么構架落地應用?

自從區塊鏈技術火爆起來之后&#xff0c;越來越多的金融機構和金融科技公司宣布探索區塊鏈在金融上的運用&#xff0c;國內區塊鏈技術服務商跟隨金融機構的腳步&#xff0c;一方面是基于以太坊智能合約作為底層架構&#xff0c;通過提供中間層工具及協議和應用層的身份驗證、證…

JVM中GC Root對象有哪些?

眾所周知&#xff0c;我們目前最常用的虛擬機hotspot使用可達性分析來進行垃圾回收&#xff0c;而可達性分析需要依賴GC Root。下面我就來介紹下可以作為GC Root的對象。 &#xff08;一&#xff09;虛擬機棧中引用的對象 虛擬機棧中的引用的對象可以作為GC Root。我們程序在虛…

IPv6 解說 ,與IPv4的同異

見&#xff1a;https://baike.baidu.com/item/IPv6/172297 IPv6 IPv6是Internet Protocol Version 6的縮寫&#xff0c;其中Internet Protocol譯為“互聯網協議”。IPv6是IETF&#xff08;互聯網工程任務組&#xff0c;Internet Engineering Task Force&#xff09;設計的用于替…

USACO Training Section 5.1 Fencing the Cows 圈奶牛(凸包)

夫約翰想要建造一個圍欄用來圍住他的奶牛&#xff0c;可是他資金匱乏。他建造的圍欄必須包括他的奶牛喜歡吃草的所有地點。對于給出的這些地點的坐標&#xff0c;計算最短的能夠圍住這些點的圍欄的長度。 輸入 輸入數據的第一行包括一個整數 N。N&#xff08;0 < N < 10,…

Linux各發行版本簡介

Linux的發行版本可以大體分為兩類&#xff0c;一類是商業公司維護的發行版本&#xff0c;一類是社區組織維護的發行版本&#xff0c;前者以著名的Redhat&#xff08;RHEL&#xff09;為代表&#xff0c;后者以Debian為代表。 1、Redhat&#xff0c;應該稱為Redhat系列&#xff…

個推應用統計產品(個數)Android集成實踐

2019獨角獸企業重金招聘Python工程師標準>>> 前段時間&#xff0c;我們公司的產品又雙叒叕給我們提了新需求&#xff0c;要求我們把APP相關的數據統計分析一下&#xff0c;這些指標包括但不限于應用每日的新增、活躍、留存率等等&#xff0c;最好每天都能提供數據報…

JVM中安全點safePoint有哪些?

安全點是jvm選來進行GC的線程中斷點。線程在執行到安全點后詢問GC標志位&#xff0c;若標志位標識將要進行GC&#xff0c;則程序主動中斷掛起線程等待GC。安全點的選定基本上是根據"是否具有讓程序長時間執行的特征"為標準進行選定的。目前會產生安全點的主要有&…

深入理解 PHP7 中全新的 zval 容器和引用計數機制

深入理解 PHP7 中全新的 zval 容器和引用計數機制 最近在查閱 PHP7 垃圾回收的資料的時候&#xff0c;網上的一些代碼示例在本地環境下運行時出現了不同的結果&#xff0c;使我一度非常迷惑。 仔細一想不難發現問題所在&#xff1a;這些文章大多是 PHP5.x 時代的&#xff0c;而…

分布式系統的架構思路

見&#xff1a;http://www.cnblogs.com/chulung/p/5653135.html 一、前言 在計算機領域&#xff0c;當單機性能達到瓶頸時&#xff0c;有兩種方式可以解決性能問題&#xff0c;一是堆硬件&#xff0c;進一步提升配置&#xff0c;二是分布式&#xff0c;水平擴展。當然&#xff…

狂賭智能手機 中國互聯網巨頭深陷零利潤困局

編者按&#xff1a;智能手機正在中國普及&#xff0c;互聯網企業趨之若鶩。然而&#xff0c;在蘋果、三星共享智能手機市場99%利潤的大背景下&#xff0c;中國互聯網企業要從所剩無幾的利潤空間里分一杯羹&#xff0c;注定備受煎熬&#xff0c;前路迷茫。 互聯網巨頭紛紛進入智…

占用較多堆外內存的區域

&#xff08;1&#xff09;Director Memory 主要在nio中會使用&#xff0c;在內存不足時會拋出OOM或者OOM:Direct buffer memory。 &#xff08;2&#xff09;線程堆棧 為每個線程分配的棧空間&#xff0c;用于保存局部變量&#xff0c;執行程序代碼。內存不足時可能拋出StackO…

Oracle SELECT INTO 和 INSERT INTO SELECT 兩種表復制語句詳解

在Oracle中select into from不可以使用&#xff0c;用create table select代替該功能&#xff01;&#xff01;&#xff01;在Sql Server中可以正常使用。1.INSERT INTO SELECT語句語句形式為&#xff1a;Insert into Table2(field1,field2,...) select value1,value2,... from…

帆軟地址欄傳參,實例

自動查詢&#xff1a; http://help.finereport.com/finereport9.0/doc-view-409.html參數的種類與區別&#xff1a; http://help.finereport.com/doc-view-156基本參數傳遞&#xff08;視頻&#xff09;&#xff1a; http://bbs.fanruan.com/lesson-14.html超級鏈接-傳遞多個值…

RMI 說明

見&#xff1a;https://baike.baidu.com/item/RMI/1786244?fraladdin RMI遠程方法調用 相關概述 RMI是Java的一組擁護開發分布式應用程序的API。RMI使用Java語言接口定義了遠程對象&#xff0c;它集合了Java序列化和Java遠程方法協議(Java Remote Method Protocol)。簡單地說&…

李善友:為什么外企人不敢創業

摘要&#xff1a;20年前&#xff0c;人們最驕傲的是進外企&#xff0c;創業意味著找不到工作。而現在相反&#xff0c;你要說自己在外企工作&#xff0c;會被人笑話&#xff0c;令人激動的事兒是去創業。 李善友&#xff1a;中歐創業中心主任創業學兼任教授、酷6網創始人 孫陶然…

JVM對象占用內存計算

大家都知道&#xff0c;jvm中對象實例存儲在堆中&#xff0c;對象的引用存儲在棧中&#xff0c;而對象的元數據(類型數據)存儲在方法區。在我們進行內存優化的過程中經常需要了解每個對象占用的內存大小。接下來我將介紹對象占用內存大小的計算方式。 Java的對象模型 java是面…