【資訊軟體知識】距離再遠也能快速傳遞資訊,來認識CDN吧!

【資訊軟體知識】距離再遠也能快速傳遞資訊,來認識CDN吧!

更新於 發佈於 閱讀時間約 3 分鐘

CDN全名為 Content Delivery(Distribution) Network,內容傳遞網路,光看名字應該還不知道能夠做什麼吧!那為什麼又要有CDN呢? 主要是因為現在的時代,很多事務都開始搬上網際網路,而且參與的對象已經是全世界了,假若因為距離太遠,導致載入時間過久,相信對於使用者體驗必然大打折扣,因此CDN的出現主要是克服了這樣的限制,至於為什麼能夠克服呢? 接下來的主題就是來談談這個部分。

沒有CDN時,遇到什麼樣的問題?

當使用者距離我們的伺服器越遠時,傳輸速度必然會因為物理限制下減緩,加上如果流量又多,勢必會造成塞車的狀況,就像我們早期在瀏覽國外網站時一般,光是載入一個簡單的靜態頁面就足足等了幾分鐘之久,對於使用體驗上來說已經大打折扣。

圖片來源

加速的方式

其實就是分身的概念,建設多台伺服器的佈署,每一個節點都有儲存快取資料,因此當我們在瀏覽一個國外網站時,會優先以該國家附近的伺服器節點開始抓取快取資料並展示於瀏覽器,不需要全部連回主伺服器,也因此減少了主伺服器的壓力,讓讀取更加快速。

圖片來源

一個網站如果剛開始建置時,流量不大,都不會造成負擔,但當有一天營運的規模快速增長時,回應速度可能就隨之減慢,延遲時間也隨之變長,過往我們通常會再採購一台伺服器並搭配Proxy來進行轉發,負擔原本伺服器的壓力,但仍沒有解決物理距離的問題,因此CDN就很聰明的做為緩存伺服器分散在世界各處,並定期將網頁伺服器的快取資料同步到各個CDN節點。

就想像成物流中心,在各個地區都設置區域性的物流倉儲,前一天統一集貨到各個地區的物流倉儲,再由各地區的司機去運送,減少運輸時間。

CDN伺服器如果沒有資料怎麼辦?

CDN伺服器也有可能因為當機的因素,沒有緩存到網站伺服器的資料,這時候當瀏覽器存取最近的CDN伺服器時,若取不到資料就會再往下一台找,直到找回網站伺服器為止。

圖片來源

對於使用者端來說要怎麼自動找其他節點?

通常我們會經過一個DNS伺服器幫我們決定去哪裡抓資料,就將其想像成查號台,我們先打過去查詢目的地的號碼,再進行打電話。

圖片來源

除了讓網頁更快的載入還有什麼作用?

這時代最流行莫過於影音直播了,假設沒有CDN的分散負擔,當千萬人都透過一台伺服器讀取直播內容時很容易發生延遲的狀況,因為我們的頻寬就是這麼大,流量就是這麼擠,試想當高速公路塞車時的盛況就可想而知了。

因此在這麼大流量的情況下要怎麼分散負擔呢?其實就是利用CDN的概念,將每一段影片切碎成小片段,並分送到各個CDN節點,而世界各地的粉絲們就根據距離最近的CDN節點去拉取影片,藉由這樣的方式減少塞車的狀況,減少延遲、提升效率。

喜歡撰寫文章的你,不妨來了解一下:

Web3.0時代下為創作者、閱讀者打造的專屬共贏平台 — 為什麼要加入?

歡迎加入一起練習寫作,賺取知識,累積財富!

avatar-img
阿Han的沙龍
126會員
280內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言
avatar-img
留言分享你的想法!
阿Han的沙龍 的其他內容
執行一個操作要花費的「時間長度」。 舉例來說,時速100公里的前提下,從台北到高雄大約花費4個小時,而這個花費的耗時就稱為延遲。 以一個時間區間作為單位,單位時間內可以執行「幾次」操作,或運算的「次數」。 舉例來說,時速100公里的前提下,從台北到高雄的路段,每一個小時能夠乘載的量能,以高速公路來說
前一篇的「Authentication、Authorization,傻傻分不清楚?」主要在介紹認證與授權的差異之處,而本章節著重於授權這部分,也使用了經典的RBAC模型進行說明。 RBAC模型(Role-Based Access Control:基於角色的訪問控制), 認為可以抽象的表示: Who是
認證(authentication)跟授權(authorization)這兩個名詞常常被混淆,但本質上是完全不同的兩個概念,在數位化的時代下,為了確保每位使用者的安全性,每個系統幾乎都具備認證(authentication)與授權(authorization)這兩大功能,而這些概念也常常出現在我們生
在進入Message Queue之前我們先來了解一下同步/非同步任務的概念。 菜單稱為訊息(Message), 為工作內容描述。 送出菜單的客人稱為生產者(Producer), 負責建立訊息。 櫃台就相當於Queue, 負責接單並依序處理。 廚師就是消費者的概念, 負責消化Queue裡面的訊息。 採
執行一個操作要花費的「時間長度」。 舉例來說,時速100公里的前提下,從台北到高雄大約花費4個小時,而這個花費的耗時就稱為延遲。 以一個時間區間作為單位,單位時間內可以執行「幾次」操作,或運算的「次數」。 舉例來說,時速100公里的前提下,從台北到高雄的路段,每一個小時能夠乘載的量能,以高速公路來說
前一篇的「Authentication、Authorization,傻傻分不清楚?」主要在介紹認證與授權的差異之處,而本章節著重於授權這部分,也使用了經典的RBAC模型進行說明。 RBAC模型(Role-Based Access Control:基於角色的訪問控制), 認為可以抽象的表示: Who是
認證(authentication)跟授權(authorization)這兩個名詞常常被混淆,但本質上是完全不同的兩個概念,在數位化的時代下,為了確保每位使用者的安全性,每個系統幾乎都具備認證(authentication)與授權(authorization)這兩大功能,而這些概念也常常出現在我們生
在進入Message Queue之前我們先來了解一下同步/非同步任務的概念。 菜單稱為訊息(Message), 為工作內容描述。 送出菜單的客人稱為生產者(Producer), 負責建立訊息。 櫃台就相當於Queue, 負責接單並依序處理。 廚師就是消費者的概念, 負責消化Queue裡面的訊息。 採