動靜分離架構模式

上一篇 <<<壓縮靜態(tài)資源減少帶寬傳輸的方式
下一篇 >>>緩存策略匯總


1.動靜分離概念

動靜分離(動態(tài)文件與靜態(tài)文件的分離)是讓動態(tài)網站里的動態(tài)網頁根據一定規(guī)則把不變的資源和經常變的資源區(qū)分開來,動靜資源做好了拆分以后,我們就可以根據靜態(tài)資源的特點將其做緩存操作,這就是網站靜態(tài)化處理的核心思路。

靜態(tài)資源:當用戶多次訪問這個資源,資源的源代碼永遠不會改變的資源。
動態(tài)資源:當用戶多次訪問這個資源,資源的源代碼可能會發(fā)送改變。

2.為什么要用動靜分離

提高用戶訪問靜態(tài)代碼的速度,降低對后臺應用訪問。
Nginx作為靜態(tài)資源服務器比Tocmat響應吞吐高很多;
傳統(tǒng)的架構模式中,靜態(tài)資源(js、css、img、mp4)與動態(tài)(jsp、ftl)存放到同一個服務器,tomcat本身做為靜態(tài)資源服務器響應的速度比nginx差;
動靜分離是將動態(tài)資源(jsp/ftl)與靜態(tài)資源(img/css/js)分開,從而提高網站響應的速度,至少減少一次nginx到tomcat獲取數據又返回的操作。

3.動靜分離與前后分離的區(qū)別

前后分離 將前端業(yè)務邏輯與后端完全分開 比如 vue+SpringBoot架構
動靜分離 將靜態(tài)資源資源與動態(tài)資源分開部署;

4.動靜分離的實現原理

通過location對請求url進行匹配即可

###靜態(tài)資源訪問—可以基于location前綴,也可以基于location后綴
server {
listen       80;
server_name  static.test.com;
#基于本地root寫法
location /static/imgs {
   root F:/;
   index  index.html index.htm;
}
#基于本地alias寫法
location /static/ {
            alias   E:/static/imgs/;
        }
#基于另外服務器的圖片獲取,還可以解決跨域問題
location /static/ {
        proxy_pass   http://www.test.com/static/imgages/index-img/;
        index  index.html index.htm;
        }
}
###動態(tài)資源訪問
server {
listen       80;
server_name  www.test.com;

location / {
 proxy_pass http://127.0.0.1:8080;
 index  index.html index.htm;
}
}

5.純后臺代碼如何實現靜態(tài)化

freemarker+nginx+lua+openrestry


推薦閱讀:
<<<高并發(fā)架構的整體思路
<<<一個網站訪問慢的真正原因
<<<高并發(fā)情況下,接口的代碼會存在哪些問題
<<<壓縮靜態(tài)資源減少帶寬傳輸的方式
<<<緩存策略匯總
<<<后端服務的雪崩效應及解決思路
<<<服務的隔離、降級和熔斷
<<<服務限流之計數器方式
<<<服務限流之滑動窗口計數
<<<服務限流之令牌桶算法
<<<服務限流之漏桶算法
<<<漏桶算法和令牌桶算法的區(qū)別
<<<自定義封裝限流算法
<<<應用級限流
<<<接入層限流

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容