跳到主要內容

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

 

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

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

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



加速的方式


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


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

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

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

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



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

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



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

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

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


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

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

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

⭐ 跟著「阿Han」一起來閱讀、撰寫文章,讓知識變現吧! ⭐

💬 如果您有任何問題,也歡迎底下留言告訴我,讓我們一起學習 💬

📚 如果想看更多精選文章,或者關於我的相關資訊請來這裡...

留言

這個網誌中的熱門文章

java西元民國轉換_各種不同格式

C#資料庫操作(新增、修改、刪除、查詢)