隨著雲端服務提供者的技術不斷的進步,這幾年CDN的應用算是非常流行,比較有名的應該就屬於CloudFlare跟AWS 的Cloudfront了,這篇文章我們就來討論一下CDN的基本原理以及CDN在WordPress網站上的應用吧。
何謂CDN
CDN是Content Delivery Network的簡寫,翻成中文就是內容傳遞網路。CDN的基本原理就是把同一檔案複製到很多不同的伺服器上,然後依照使用者的位置來計算他最近的資料中心並且由該資料中心提供檔案。假設你人在台灣,那你從台灣讀取一個Cloudfront的檔案就應該會從東京來,但是相同的一個檔案,如果你在雪梨讀取,可能就會從雪梨當地的AWS資料中心來。
以Cloudfront來說,當你設定好你的檔案來源之後,在使用者第一次經由Cloudfront來存取檔案的時候,AWS會自動將這個檔案複製下來並且快取到其他資料中心,等到下一次使用者要讀取同一個檔案時,Cloudfront就會提供離使用者最近的快取檔案給使用者,不再經過原本的檔案來源。
CDN的優點
CDN基本上有下面幾個優點:
- 可以根據使用者位置判斷出最近的檔案位置,減少使用者下載以及讀取時間。
- 由於是分散式的架構,可以降低對網站伺服器的負擔,適合高流量的網站使用。
- 同一檔案已經被備份到多個地點,所以如果有一個資料中心掛掉或是出問題的時候,檔案也可以由其他地方來取得,可以大幅增加服務的穩定性。
CDN的缺點
CDN的最大的缺點就是….要錢,但是其實並不貴,您可以參考AWS CloudFront的價格表 ,至於CloudFlare,他們宣稱有免費的CDN服務不過筆者倒是還沒試過。 CDN另外一個缺點應該就是快取了,這當然也是它的優點,不過當你的所有檔案都是在CDN上而且你需要對同一個檔案做出變更的時候,就必須等到 CDN的快取更新(Cloudfront快取的時間為24小時),所以通常我會建議只用CDN來傳送圖片跟檔案而非較長變動的css跟js檔案。
CDN 在WordPress上面的運用
我們可以使用CDN來傳送WordPress的圖片甚至是其他檔案,這樣不但可以減少我們伺服器的負擔,也可加快網頁的載入速度。大部分的快取外掛包含我們前面所介紹的WP-Rocket,都有CDN整合的功能,CDN適合用在哪些網站上面呢?
- 網站有很多高品質的圖片或是檔案提供使用者觀看或是下載: 利用CDN可以確保使用者不論身在何處,都可以由最近的資料中心下載讀取檔案。
- 目標使用者分佈在多個區域: 如果您的網站使用者分佈在世界各地,那使用者可能因為本身的位置和您的網站伺服器太遠而造成網站以及圖片讀取緩慢的情況,使用CDN可以大幅改善這個問題。
- 高流量網站:高流量網站的伺服器負擔一般來說都會比較大,使用CDN可以大幅減少伺服器的負擔。
下一篇我們將一步一步的教你怎麼設定Cloudfront CDN 並應用在WordPress網站上