动静分离的实现方式

556 阅读2分钟

1. 动静分离的实现思路

动静分离是将网站静态资源(HTML,JavaScript,CSS,img,videos等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。

2. 动静分离的实现方式

2.1 CDN方式

2.2 Nginx方式实现

3. 动静分离需要解决的问题

  • 跨域:
    解决方式:springboot,nginx及jsonp
  • 分布式会话:
    解决方式:分布式缓存中间件redis。

4. 动静分离的实现优缺点

4.1 优点

api接口服务化
动静分离之后,后端应用更为服务化,只需要通过提供api接口即可,可以为多个功能模块甚至是多个平台的功能使用,可以有效的节省后端人力,更便于功能维护。

前后端开发并行
前后端只需要关心接口协议即可,各自的开发相互不干扰,并行开发,并行自测,可以有效的提高开发时间,也可以有些的减少联调时间

减轻后端服务器压力,提高静态资源访问速度
后端不用再将模板渲染为html返回给用户端,且静态服务器可以采用更为专业的技术提高静态资源的访问速度。

4.2 缺点

开发量变大,前后端交流成本升高:后端api返回的数据,往往是有自身逻辑在内的,比如返回数据中的包含status(1-处理中,2-处理成功,3-处理失败),前端需要理解status的不同含义,对应的前端操作需要理解(如,status =1 or status = 2,不可提交)。

在业务高速发展时需要慎重考虑:因为开发量变大,如果在业务开始阶段,缺乏前端又要求开发速度很快,就需要慎重考虑这种方式的实现成本对业务发展的影响。