动静分离的特点
1.分布式,本质就是分布式,把动态的请求、接口和静态数据、静态资源分开,减少服务器的资源压力,提高静态资源的速度,因为静态资源可以缓存的
2.前后端解耦,降低运维的复杂度,发布的时候十分的便捷,前端人员和后端人员可以并行开发
3.静态资源归nginx,css、js、图片、视频等从nginx读取静态资源
4.接口服务化,统一的封装接口、数据、提供出来,让前端去对接,安卓端、iOS端、小程序端只要有一个接口就可以为所有前端提供相应的服务
动静分离
1.静态数据:css/js/html/images/audios/videos/…
2.动态数据:得到的响应可能会和上一次不同,往往以一个接口的形式去获取请求
动静分离的方式 CDN
离用户最近的CDN服务器节点去拉取资源,通过CDN的加速
动静分离的方式 Nginx
用户通过域名的请求,把静态资源放到nginx中,或者在挂一组上游服务去存放静态资源,部署静态资源的集群
动静分离的问题
- 跨域
Nginx
Jsonp - 分布式会话
分布式缓存中间件Redis