有問有答:什麼是CDN?

還記得多年以前用iPhone 4、iPhone 4S的時候有多少用户抱怨過App Store下載速度太慢了的事情嗎?究其原因其實是當時蘋果在國內沒有全面的CDN覆蓋,那麼什麼是CDN呢?

CDN,全稱內容分發網絡( C ontent D elivery N etwork),你可以簡單地將其理解成一個離你很近的、可以從上面獲取到完整的原始數據的服務器,它會定期和擁有原始內容的服務器進行同步,保證用户可以從上面獲取到最新的內容。

那麼為什麼CDN可以大幅提高下載速度呢?

首先在一般情況下,CDN服務器要比原始內容服務器更靠近用户端,在網絡距離上面變短了,連接到CDN服務器要比連接到原始服務器輕鬆,並且連接質量更好,比如説原本我們要連接的內容服務器在國外,因為出口帶寬有限等原因,我們的連接質量很差、下載速度很慢,這時如果在國內有一台擁有同樣內容的服務器,我們就可以連接到這台位於國內的服務器上面,以更快的速度獲取內容。

img
圖片來自於 Cloudflare

其次CDN提高了整體的帶寬,比如原先100個人連接到一台帶寬為10Gbps的服務器上面進行下載,平均每個用户只能分到0.1Gbps的帶寬,速度太慢了;而在使用CDN之後,原先一台服務器變成了多台擁有相同內容的服務器,用户被分散到不同的服務器上面去進行下載,平均每個用户能夠分到的帶寬就會得到明顯的提高。

如果還不能夠理解什麼是CDN的話,這裏再用一個與網絡無關的例子來説明:有兩家除了位置其他完全一致的全家,一家比你住所要近,另一家要遠,那麼你會選擇去哪一家?答案非常明顯,正常人都會跑去近的,而CDN服務器就是離你近的那家全家。

隨着互聯網的發展,幾乎所有內容提供方,不管是做網站的還是做遊戲、軟件的,都會涉及到CDN技術,它可以有效提升我們上網衝浪的體驗,最明顯的可能就是我們現在去App Store更新應用再也不會喊卡了,因為蘋果在國內部署了非常全面的CDN。