對於程式設計師來說,cdn應該不陌生。比如我們用一些比較常見的類庫時,各個大廠都會有cdn。例如jquery,bootstrap之類的。
這些的卻算是cdn的應用,但是我們不應該只是了解cdn到這個地步。接下來再多了解一點吧。
cdn的全稱是content delivery network,即內容分發網路。
這裡說下我的理解,所謂cdn 其實就是為了減少主要伺服器的壓力,將一些不怎麼變化的靜態資源,html,css,js之類的放在一些cdn提供商的伺服器上。這樣我們的網路伺服器就只需要專注於邏輯的處理,而不需要將大量精力放在靜態資源上。
1.使用者請求乙個**
2.請求的靜態資源位址會是cdn服務商的位址。
3.cdn服務商根據 我們的配置拿到乙份最新的靜態資源。
4.將這個靜態資源快取到離使用者較近的伺服器上。
5.然後將這個返回。
6.當有與你處於乙個區域的使用者去訪問時,就會從這台快取的伺服器拿資源。
上面說的大概執行流程,也解釋了為什麼會用cdn。我理解的主要有以下兩點
1.減少我們伺服器的壓力
2.使靜態資源返回更快,使用者響應更快。(其實很多時候靜態資源的網路i/o要很高)
1.選擇大廠知名的cdn.好處就是伺服器節點更多,伺服器更穩定,返回更高效
2.主要靜態資源更新時的延遲問題。 如果一些靜態資源,類如js 經常發生變動,就不要加入cdn。
MapReduce通俗語言講述執行原理
先假設乙個待解決的問題 如何把乙份300m的檔案,統計到每個單詞的詞頻輸出出來?首先,將這個任務分解為以下幾個大的步驟 把檔案寫進datanode 將計算框架分發到各個datanode,讀取檔案內容並進行計算,這個過程就是mapreduce的過程 將計算完的結果寫進磁碟 從客戶端寫入檔案,涉及到的步...
資料結構 通俗語言描述KMP演算法核心
樸素的求母串s裡有多少個子串t,就是母串裡從1開始到末尾,擷取和子串相同長度的一段字串,和子串t比,一樣就返回1不一樣就繼續取下一串。要是子串裡的字元都是不一樣的就是這麼比的,但是子串裡要是有一些是重複的,這樣比就多比了很多步。next陣列就是,把子串裡各個字元位置的下標值定義為乙個陣列,告訴你這個...
通俗語言解釋內外網IP與埠對映
為什麼叫做虛擬ip,因為它相對於全世界互通的網路中,是不存在的,多數是由路由器分配的,這個ip僅用於內網的身份識別,例如網咖內,區分不同的機子。好在早在規劃 ip 時就已經預留了三個網段的 ip 做為內部網域的虛擬 ip 之用。這三個預留的 ip 分別為 內網也就是區域網,內網就好像乙個小型的因特爾...