動靜分離
特點
- 分布式, 因為将前端和後端分開了, 不再由後端傳回頁面, 可以減少伺服器的壓力
- 前後端解耦, 可以獨立開發, 前後端并行
- 靜态歸于Nginx釋出
- 接口服務化, 統一隻提供資料
資料特點
- 靜态資料
- css/js/html/images/audios/videos
- 動态資料
- 得到的資料可能會和上一次不一樣
實作方式
CDN
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5COyQTNyEGNhBDN5cTO2IWMzYzX3MzNyADMwEzLclDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
很多的大型網站都是采用了CDN加速的, 當然CDN是花錢的~
Nginx
如果前端的通路壓力不是很大的話, 可以直接将靜态資源部署在Nginx上, 一般中小型公司都是這樣部署的, 可以節省伺服器成本, 因為靜态資源的壓力并不是很大, 一台Nginx完全扛得住, 隻需要将接口服務部署為叢集即可, 如果靜态資源的壓力在後續上升, 那麼可以将靜态資源抽離, 單獨部署在一個Nginx叢集中, 第一台Nginx隻做路由轉發即可
動靜分離的問題
跨域問題
這個也是最常見的問題了,
- 可以通過Jsonp的方式解決, 但是現在用的很少了, 以前用的多
- Nginx方式配置解決, 在上面有'
- SpringBoot 配置解決, 可以百度一下, 很簡單的
Nginx和SpringBoot的方式用的比較多