上一篇 <<<壓縮靜態(tài)資源減少帶寬傳輸?shù)姆绞?/a>
下一篇 >>>緩存策略匯總
1.動(dòng)靜分離概念
動(dòng)靜分離(動(dòng)態(tài)文件與靜態(tài)文件的分離)是讓動(dòng)態(tài)網(wǎng)站里的動(dòng)態(tài)網(wǎng)頁根據(jù)一定規(guī)則把不變的資源和經(jīng)常變的資源區(qū)分開來缩举,動(dòng)靜資源做好了拆分以后坟募,我們就可以根據(jù)靜態(tài)資源的特點(diǎn)將其做緩存操作,這就是網(wǎng)站靜態(tài)化處理的核心思路妨退。
靜態(tài)資源:當(dāng)用戶多次訪問這個(gè)資源耍缴,資源的源代碼永遠(yuǎn)不會(huì)改變的資源晨仑。
動(dòng)態(tài)資源:當(dāng)用戶多次訪問這個(gè)資源叉信,資源的源代碼可能會(huì)發(fā)送改變米辐。
2.為什么要用動(dòng)靜分離
提高用戶訪問靜態(tài)代碼的速度,降低對(duì)后臺(tái)應(yīng)用訪問务冕。
Nginx作為靜態(tài)資源服務(wù)器比Tocmat響應(yīng)吞吐高很多血当;
傳統(tǒng)的架構(gòu)模式中,靜態(tài)資源(js洒疚、css、img坯屿、mp4)與動(dòng)態(tài)(jsp油湖、ftl)存放到同一個(gè)服務(wù)器,tomcat本身做為靜態(tài)資源服務(wù)器響應(yīng)的速度比nginx差领跛;
動(dòng)靜分離是將動(dòng)態(tài)資源(jsp/ftl)與靜態(tài)資源(img/css/js)分開,從而提高網(wǎng)站響應(yīng)的速度乏德,至少減少一次nginx到tomcat獲取數(shù)據(jù)又返回的操作。
3.動(dòng)靜分離與前后分離的區(qū)別
前后分離 將前端業(yè)務(wù)邏輯與后端完全分開 比如 vue+SpringBoot架構(gòu)
動(dòng)靜分離 將靜態(tài)資源資源與動(dòng)態(tài)資源分開部署;
4.動(dòng)靜分離的實(shí)現(xiàn)原理
通過location對(duì)請(qǐng)求url進(jìn)行匹配即可
###靜態(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/;
}
#基于另外服務(wù)器的圖片獲取胧瓜,還可以解決跨域問題
location /static/ {
proxy_pass http://www.test.com/static/imgages/index-img/;
index index.html index.htm;
}
}
###動(dòng)態(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)代碼如何實(shí)現(xiàn)靜態(tài)化
freemarker+nginx+lua+openrestry
推薦閱讀:
<<<高并發(fā)架構(gòu)的整體思路
<<<一個(gè)網(wǎng)站訪問慢的真正原因
<<<高并發(fā)情況下,接口的代碼會(huì)存在哪些問題
<<<壓縮靜態(tài)資源減少帶寬傳輸?shù)姆绞?/a>
<<<緩存策略匯總
<<<后端服務(wù)的雪崩效應(yīng)及解決思路
<<<服務(wù)的隔離郑什、降級(jí)和熔斷
<<<服務(wù)限流之計(jì)數(shù)器方式
<<<服務(wù)限流之滑動(dòng)窗口計(jì)數(shù)
<<<服務(wù)限流之令牌桶算法
<<<服務(wù)限流之漏桶算法
<<<漏桶算法和令牌桶算法的區(qū)別
<<<自定義封裝限流算法
<<<應(yīng)用級(jí)限流
<<<接入層限流