什么是對象存儲的回源功能
對象存儲的鏡像回源功能是指,當網站的用戶請求的資源不存在的時候,可以通過回源規(guī)則從設定的源地址獲取到正確的數(shù)據,然后再返回給網站的用戶。
博客上的圖片,CSS,JS 這些靜態(tài)文件一般都是不會經常修改的,使用鏡像回源功能把這些靜態(tài)文件資源鏡像到對象存儲的服務器上,網站用戶訪問的時候就直接從云存儲的服務器上讀取數(shù)據,這樣可以降低網站服務器讀取數(shù)據的壓力和提高網站的速度。
XinTheme所有的付費WordPress主題內置的「對象儲存」就是使用的鏡像回源功能。
并且并不影響博客的原來使用體驗,原來怎么上傳圖片還是繼續(xù)在網站中怎么操作即可。
鏡像回源的操作過程和原理
簡單說,鏡像回源的操作過程和原理是這樣的,以阿里云OSS為例:
比如我博客上有一張圖片:http://www.dahuzi.me/img/logo.png
,它的域名是?www.dahuzi.me
在阿里云OSS里面新建一個空間,比如 dahuzi,綁定一個?img.dahuzi.me
?的域名,然后設置鏡像回源,“回源地址”設為?www.dahuzi.me
。
現(xiàn)在就可以通過?http://img.dahuzi.me/img/logo.png
?這個地址訪問到保存在博客上的那張圖片了。
說明:我博客上的任意一張圖片,只要它的源站地址是?www.dahuzi.me
,就可以通過將它改成?img.dahuzi.me
?訪問到。
每次通過?img.dahuzi.me
?訪問到某張圖片的時候,它就會被永久保存在阿里云 OSS 上(除非你手動把它刪除),然后每次終端用戶訪問到的時候都會通過阿里云的 CDN 分發(fā)出去,從而實現(xiàn)加快WordPress網站加載速度的功能。
使用鏡像回源需注意的地方
只有當對象存儲上沒有對應資源情況下,對象存儲才會執(zhí)行鏡像回源,向源站請求文件。
假設文件已經通過鏡像回源寫到了對象存儲,如果源站的相同文件發(fā)生了變化,對象存儲不會更新已經存在于對象存儲上的文件,因為此時文件已經在對象存儲上,不符合鏡像回源的條件,所以:
在源站修改了 CSS 或者 JS 文件,對象存儲是不會自動更新的。
那怎么辦?你可以:
1、上對象存儲手動更新對應的文件。
2、更改文件名,讓對象存儲重新鏡像一個新的文件。
鏡像回源功能看起來和傳統(tǒng)的 CDN 比較像,兩種都會在數(shù)據不存在的時候回源站抓取,不同之處在于,鏡像回源是存儲不是緩存,故此鏡像存儲對每個資源來說只回源一次,后續(xù)訪問的時候就不再回源了。
如果終端用戶第一次訪問某個資源,終端用戶首先從對象存儲上訪問資源,再讓對象存儲回源站取資源,然后將取回的資源緩存在對象存儲上。因此,第一次訪問會有一定的延時,可能比從源站取稍微慢一點,這是正常的,但是第二次第三次訪問就可以直接從對象存儲上取,一般情況下比從源站取資源會快很多。
也正因為鏡像存儲第一次取資源時會有延時,因此不推薦鏡像文件大小超過 5M 的大文件資源,否則第一次訪問會很慢或者出現(xiàn)服務器超時等錯誤。
網站上的圖片鏡像到對象存儲之后,是否可以刪除服務器上的圖片,答案是可以的,但是強烈建議不要進行此項操作,因為現(xiàn)在主機空間費用非常低廉,購買一個大點的空間也花不了多少錢。另外圖片多保存一份在自己的服務器上也是好的。
加速功能為什么使用鏡像回源
我們的WordPress主題為什么使用鏡像回源而不用對象存儲提供的 API 對接?
使用 API 對接需要大量時間去對接,并且每家對象存儲提供商的 API 都有一些不同,所以每次對接都要花費時間,而每家對象存儲的鏡像回源功能基本一致,并且 API 對接還會存在一定失敗率。
使用鏡像回源功能可以將已經發(fā)布的文章里面的圖片也鏡像到對象存儲上面,你只需要按照使用文檔設置好就行,其他什么都不用做,網站上所有圖片都會全部鏡像到對象存儲里面。
新主題官方微信公眾號
掃碼關注新主題(XinTheme)官方公眾號,本站動態(tài)早知道。
發(fā)布本站最新動態(tài)(新主題發(fā)布、主題更新)和WordPress相關技術文章。