动静分离
特点
- 分布式, 因为将前端和后端分开了, 不再由后端返回页面, 可以减少服务器的压力
- 前后端解耦, 可以独立开发, 前后端并行
- 静态归于Nginx发布
- 接口服务化, 统一只提供数据
数据特点
- 静态数据
- css/js/html/images/audios/videos
- 动态数据
- 得到的数据可能会和上一次不一样
实现方式
CDN
很多的大型网站都是采用了CDN加速的, 当然CDN是花钱的~
Nginx
如果前端的访问压力不是很大的话, 可以直接将静态资源部署在Nginx上, 一般中小型公司都是这样部署的, 可以节省服务器成本, 因为静态资源的压力并不是很大, 一台Nginx完全扛得住, 只需要将接口服务部署为集群即可, 如果静态资源的压力在后续上升, 那么可以将静态资源抽离, 单独部署在一个Nginx集群中, 第一台Nginx只做路由转发即可
动静分离的问题
跨域问题
这个也是最常见的问题了,
- 可以通过Jsonp的方式解决, 但是现在用的很少了, 以前用的多
- Nginx方式配置解决, 在上面有'
- SpringBoot 配置解决, 可以百度一下, 很简单的
Nginx和SpringBoot的方式用的比较多
分布式会话
现在基本都是用Redis解决的分布式会话的问题