我們普通計算機的網絡卡,是1gbps的頻寬。如果優酷有一台超級伺服器,那麼,這台超級伺服器就需要4萬塊網絡卡,而且必須百分之百跑滿速度,才能夠實現這1千萬使用者的流暢**。
對於一些實力不夠的服務商,或者突發流量陡增的情況,就會造成擁塞,從而導致卡頓和延時。
有這麼乙個說法:當使用者開啟乙個頁面,等待超過4秒,他就會關閉這個頁面。也就是說,這個使用者就會流失。
▼這應該是大家最討厭的符號
使用者的流失,就意味著金錢的流失。沒有任何一家網際網路服務提供商希望這樣的情況發生。所以,它們必須想方設法讓自己的內容盡快呈現,縮短使用者的等待時間,提公升使用者的體驗。
而cdn,就是一項非常有效的縮短時延的技術。
上世紀80年代,網際網路技術剛剛走入民用領域。
人們主要通過撥號來訪問網路,頻寬很低,使用者也很少,所以,沒有對骨幹網以及伺服器帶來壓力。
隨著網際網路的**式發展,使用者越來越多,加上寬頻接入網的出現,內容源伺服器和骨幹網路的壓力越來越大,無法及時響應使用者的訪問需求。
2023年,麻省理工學院教授、網際網路的發明者之一,tim berners-lee博士發現,網路擁塞越來越嚴重,將會成為網際網路發展的最大障礙。
於是,他提出乙個學術難題,希望有人能發明一種全新的、從根本上解決問題的方法,來實現網際網路內容的無擁塞分發。
當時tim berners-lee博士的隔壁,是tom leighton教授的辦公室。他是一位麻省理工學院應用數學教授。
他被berners-lee的挑戰激起了興趣,於是他請研究生danny c. lewin和其他幾位頂級研究人員一起破解這個技術難題。
最終,他們開發了利用數**演算法則來處理內容的動態路由演算法技術,有效地解決了這個難題。這個技術,就是cdn。
他們還為此專門成立了公司,發揮其商業價值。這個公司,就是後來鼎鼎大名的cdn服務鼻祖——akamai公司。
cdn這個技術其實說起來並不複雜,最初的核心理念,就是將內容快取在終端使用者附近。
內容源不是遠麼?那麼,我們就在靠近使用者的地方,建乙個快取伺服器,把遠端的內容,複製乙份,放在這裡,不就ok了?
因為這項技術是把內容進行了分發,所以,它的名字就叫做cdn——content delivery network,內容分發網路。
具體來說,cdn就是採用更多的快取伺服器(cdn邊緣節點),布放在使用者訪問相對集中的地區或網路中。當使用者訪問**時,利用全域性負載技術,將使用者的訪問指向距離最近的快取伺服器上,由快取伺服器響應使用者請求。(有點像電商的本地倉吧?)
大家可能覺得,這個不就是「映象伺服器」嘛?其實不一樣。映象伺服器是源內容伺服器的完整複製。而cdn,是部分內容的快取,智慧型程度更高。
確切地說,cdn=更智慧型的映象+快取+流量導流。
我們來舉個例子,看看cdn的具體工作流程。
②、本地dns系統會將網域名稱的解析權交給cdn專用dns伺服器。
③、cdn專用dns伺服器,將cdn的全域性負載均衡裝置ip位址返回使用者。
④、使用者向cdn的負載均衡裝置發起內容url訪問請求。
⑤、cdn負載均衡裝置根據使用者ip位址,以及使用者請求的內容url,選擇一台使用者所屬區域的快取伺服器。
⑥、負載均衡裝置告訴使用者這台快取伺服器的ip位址,讓使用者向所選擇的快取伺服器發起請求。
⑦、使用者向快取伺服器發起請求,快取伺服器響應使用者請求,將使用者所需內容傳送到使用者終端。
⑧、如果這台快取伺服器上並沒有使用者想要的內容,那麼這台快取伺服器就要**的源伺服器請求內容。
⑨、源伺服器返回內容給快取伺服器,快取伺服器發給使用者,並根據使用者自定義的快取策略,判斷要不要把內容快取到快取伺服器上。
採用cdn技術,最大的好處,就是加速了**的訪問——使用者與內容之間的物理距離縮短,使用者的等待時間也得以縮短。
而且,分發至不同線路的快取伺服器,也讓跨運營商之間的訪問得以加速。
例如中國移動手機使用者訪問中國電信網路的內容源,可以通過在中國移動假設cdn伺服器,進行加速。效果是非常明顯的。
此外,cdn還有安全方面的好處。內容進行分發後,源伺服器的ip被隱藏,受到攻擊的概率會大幅下降。而且,當某個伺服器故障時,系統會呼叫臨近的健康伺服器,進行服務,避免對使用者造成影響。
正因為cdn的好處很多,所以,目前所有主流的網際網路服務提供商,都採用了cdn技術。所有的雲服務提供商,也都提供了cdn服務(**也不算貴,按流量計費)。
cdn是從傳統it行業發展起來的一項服務。但是,對於我們通訊行業來說,cdn也有非常大的商業價值。
網際網路服務提供商採用cdn,是以儲存換時延。花錢購置cdn伺服器或雲計算服務,以此換取更好的使用者體驗。
通訊運營商也追捧cdn,但它們的目的,是以儲存換頻寬——通過服務「下沉」,減輕上層骨幹網路的流量壓力,避免硬體擴容,降低網路建設成本。
這個很好理解啊,如果大量的業務流量資料在骨幹網跑來跑去,骨幹網肯定吃不消,要拼命擴容。如果這些業務流量資料在底層就被解決了,那麼,骨幹網的頻寬壓力自然就減輕了。不是麼?
很多運營商已經將cdn下沉到地市級,以此減輕壓力,同時可以提公升使用者體驗。
講到這裡,廣大通訊汪們是不是想到了什麼?
沒錯,這個和前幾天介紹過的移動邊緣計算,有異曲同工之妙。
一直以來,隨著網路能力的不斷提公升,內容資源和計算能力都在不斷「往上走」,走到雲計算中心。由乙個核心雲計算中心,對所有終端節點提供服務。
結果,人們回過頭來發現,對於非常大的面積區域,非常多的使用者數量,尤其是國家級或世界級的服務,不管你把這個中心設在**,也不管你這個中心的能力有多強大,都無法克服物理距離上的障礙,會導致無法忍受的延時和網路擁塞。
於是乎,人們就開始把雲計算中心進行部分「下沉」,這才有了霧計算、霾計算。甚至人們開始質疑,集中式計算是否會最終被分布式計算所取代?
在小棗君看來,不存在誰完全取代誰的問題。不同的場景帶來不同的需求,不同的需求需要不同的網路架構。場景的多樣化是現實存在的,所以,網路架構的靈活化,也是必然的選擇。
即將到來的5g,提出三大場景和切片,用同一張網路,滿足不同的需求,就體現了這樣的設計思想,順應了潮流的發展方向。
總而言之,對於網路技術來說,不管是黑貓、白貓,總之,能抓到老鼠的,就是好貓。難道不是麼?
什麼是CDN部署
1 關於cdn的網路架構 說明 cdn網路架構主要分為兩大部分,分別是中心和邊緣,中心指的是cdn網路管理中心,dns重定向解析中心,負責全域性的負載均衡,裝置系統安裝在管理中心機房,邊緣主要是指異地節點,cdn分發載體,主要由cache和負載均衡器組成 當使用者訪問加入cdn服務的 時,網域名稱解...
什麼是CDN服務?
cdn是構建在網路之上的內容分發網路,依靠部署在各地的邊緣伺服器,通過中心平台的負載均衡 內容分發 排程等功能模組,使使用者就近獲取所需內容,降低網路擁塞,提高使用者訪問響應速度和命中率。cdn的關鍵技術主要有內容儲存和分發技術。cdn的基本原理是廣泛採用各種快取伺服器,將這些快取伺服器分布到使用者...
什麼是CDN及CDN加速原理
目錄誰需要cdn?cdn的不足 隨著網際網路的發展,使用者在使用網路時對 的瀏覽速度和效果愈加重視,但由於網民數量激增,網路訪問路徑過長,從 而使使用者的訪問質量受到嚴重影響。特別是當使用者與 之間的鏈路被突發的大流量資料擁塞時,對於異地網際網路使用者急速增加的地區來說,訪問質量不良更是乙個急待解決...