這一次,我不會推薦您使用CDN服務
問題分析
? 美國針對亞洲出口帶寬小,而且美國到國內路程又遠,固然國內訪問就會慢。
? 如果APP用戶群集中在國內,當然是放國內機房最好。
但是,如果是考慮到APP伺服器內容方面受國內製度限制和海外用戶也需要訪問,那放香港機房是最佳選擇,因為香港不需要備案,另外出口帶寬充足,不但國內訪問快,亞洲地區訪問也更加迅速。?此外
假設企業在香港或者美國使用的VPS,那麼此類情況下公司申請了優質CDN廠商提供的加速服務,如果已經備案了,那麼便可以享受國內不同地區的節點所提供的服務。
如果沒有備案,那麼CDN廠商還是只能給企業提供境外的節點來進行中繼,這樣的話很有可能把平台香港VPS的內容分發到美國節點,反而會導致公司的網站訪問變慢。
再者,就算同樣是美國節點也未必有VPS的綜合性能更好,因此也可能導致網頁打開速度更慢。
當然上述假設存在理論上的可能性,並不絕對,鑒於香港的線路也分國際線路和「直連」內地的線路。誠然,絕大多數情況下,CDN能夠通過緩存和前端優化,獲得更快的響應時間和幫助用戶暢享更極致的用戶體驗!
但CDN未必適合在所有情況下,作為優化性能的最佳選擇!以下面三種情況為例:
?適度的用戶群
企業擁有龐大和多樣化的用戶群,則部署CDN非常有意義!
但是,如果只是具有強針對性的和特定的小範圍用戶群,如組織內部使用的內部網或者企業的用戶群體非常有限的話,採用其他改進用戶體驗的方法也許會較為合適。
針對這類用戶,視界雲推薦可以採用「實現延遲載入」方法來替代CDN服務,這種技術可以確保將要素立即提供給用戶,其餘內容是按需載入。結果是智能帶寬消耗,最小頁面載入速度和由於速度改進而改善了用戶體驗。
?極端本地化用戶群
對於CDN而言,最突出的優點之一便是可以將加速內容傳送給全球客戶。
但是,如果您將內容定位到位於給定地理區域內的用戶,則使用CDN可能並不是最適合的,比如一所學校或大學的網站。
對於這樣一類集中用戶群而言,視界雲推薦您可以嘗試在您的網站上「實現預取」的方法。預取而言,本質上將獲取用戶希望訪問的組件,極大地提高了用戶端的感知負載時間。
?監管和複雜的治理要求
如果您的組織處理敏感的用戶數據,常規上,您將有一份複雜的治理協議,旨在不遺餘力地保護用戶數據。這可能包括主權要求,其中規定數據應留在某一國家的實際管轄範圍內。在這種情況下,部署CDN可能不一定很適合,因為這意味著數據如果緩存在管轄範圍以外的國家/地區的伺服器上,可能會違反主權要求。
關於CDN加速原理
內容傳送網路(CDN)是將網站內容分發到不同地區的節點上,通過此方式來縮短訪問者主機與儲存網站內容的主機之間的距離,也包括解決不同運營商線路所導致的訪問速度降低的尷尬問題。
頂級CDN具有實時可擴展性和最小化網路延遲的能力。這意味著用戶在儘可能短的時間內收到數據,最小的數據包丟失,資源以最佳方式耗費。
CDN像一種橋接的方式,使用CDN的好出也是顯而易見的,一般上有如下幾個好處:
【1】縮短主機之間訪問時信息傳遞的距離,達到加速效果;
【2】分發至不同線路的節點後可以讓不同線路的訪問者在訪問時提升實際的響應速度,比如電信和聯通網路的訪問差異,同樣達到加速效果;
【3】分發後的不同節點IP地址不同,而且會自然的隱藏掉源寄存主機的真實IP,這樣可以防止一些惡意攻擊,達到安全保護效果。
當用戶訪問支持CDN的網站時,他們可以在載入速度方面得到顯著改善,同樣提高了用戶使用體驗。
CDN所提供的服務其實不亞於另一台主機或另多台主機。之所以這樣說是因為這些分發的節點伺服器需要承擔網站的訪問量和一些其他需求,比如防禦攻擊或者緩存更新的速度,甚至搜索引擎蜘蛛DNS同步和緩存過期時間等等。CDN功能上基本接替源主機的作用,甚至有些層面還要超越源主機,綜合來看,性能越好功能越強大的CDN服務,價格也會更加趨於市場上游。
結語
平台是否選擇使用CDN服務,需要結合具體場景下去看待,不能一概而論。否則,可能會適得其反加速淪為減速帶!
然則,在大多數情況下,如視界雲一樣的行業CDN服務商,旨在協助平台提高網站響應速度、提高穩定性以及提供更多一層的安全防護功能。
此外,平台通過部署CDN服務也會對產品體驗帶來重大的改進和體驗變革!
更了解您和CDN的視界雲!
推薦閱讀:
※讓Python加速的方法,及一些優化代碼的工具(NumPy,PyPy,PyCUDA和Cython等)。
TAG:CDN | AmazonWebServicesAWS | 加速 |