前后端分离与传统模式相比的主要优点

1、可以实现真正的前后端解耦,前后端可以并行敏捷开发。

前端服务器使用nginx,前端/WEB服务器放的是css,js,图片等等一系列静态资源(甚至还可以css,js,图片等资源放到特定的文件服务器,例如阿里云的oss,并使用cdn加速),前端服务器负责控制页面引用&跳转&路由,前端页面异步调用后端的接口,后端/应用服务器使用tomcat(把tomcat想象成一个数据提供者),加快整体响应速度。(这里需要使用一些前端工程化的框架比如nodejs,react,router,react,redux,webpack)

2、发现bug后,可以快速定位问题,避免互相踢皮球现象

前端工程师来负责页面逻辑,跳转错误,浏览器兼容性问题,脚本错误,页面样式等问题;后端工程师负责接口数据出错,数据没有提交成功,应答超时等问题。双方互不干扰。

3、在大并发情况下,可以同时水平扩展前后端服务器

比如淘宝的一个首页就需要2000+台前端服务器做集群来抗住日均多少亿+的日均pv。

4、减少后端服务器的并发/负载压力

除了接口以外的其他所有http请求全部转移到前端nginx上,接口的请求调用tomcat,参考nginx反向代理tomcat。且除了第一次页面请求外,浏览器会大量调用本地缓存。

5、即使后端服务暂时超时或者宕机了,前端页面也会正常访问,只不过数据刷不出来而已

6、(多端应用)。接口完全可以共用,通过一些代码重构,也可以大量复用接口,提升效率。

7、异步加载,完美应对复杂多变的前端需求,页面显示的东西再多也不怕。

8、nginx支持页面热部署,不用重启服务器,前端升级更无缝。

9、增加代码的维护性&易读性,代码维护成本相比之前降低很多

前后端分离后,应用的代码不再是前后端混合,只有在运行期才会有调用依赖关系(前后端耦在一起的代码读起来相当费劲)。

10、提升开发效率

后端分离以后,可以实现前后端代码的解耦,只要前后端沟通约定好应用所需接口以及接口参数,便可以开始并行开发,无需等待对方的开发工作结束。与此同时,即使需求发生变更,只要接口与数据格式不变,后端开发人员就不需要修改代码,只要前端进行变动即可。

11、性能和安全都有保障
在nginx中部署证书,外网使用https访问,并且只开放443和80端口,其他端口一律关闭(防止黑客端口扫描),内网使用http。

12、代码得以复用,组件化,提升开发效率
前端大量的组件,抽出来,提升开发效率!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值