上一篇 <<<壓縮靜態(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ū)別
<<<自定義封裝限流算法
<<<應用級限流
<<<接入層限流