感谢作者:本文来源:https://www.cnblogs.com/Kevin-ZhangCG/p/9501635.html
前言
前后端分离以成为互联网开发业界标准的方式,通过nginx+tomcat+node.js有效的进行解耦,并且前后端分离会为以后的大型分布式架构,弹性计算框架,微服务,多段服务话大侠坚持的基础。这个步骤是从猿进化称人的毕竟之路。核心的死刑前端html页面通过ajax调用后端restful api 接口并使用json数据进行交互操作。
web服务,:一般指nginx,apache这类服务器,他们一般只能解析静态资源
应用服务:tomcat 他们剋解析静态i资源,但是解析静态资源的能力没有web服务好。
一:原始的开发模式
大多数项目在java后端都是分三层,控制层,业务层,持久层,控制层赋值接收参数,调用业务层,封装数据,以及由jsp渲染页面,玩当的是mvc的思路
所有的请求都会走srvlet,加入由10000个图片,服务器接收到这些请求,都需要消耗内存区创建socket来完tcp传输,着样服务器的压力会非常的大,
解决的办法是做集群,但是不是所有的都消耗性能,最好的办法是做解耦
ui设计图,前端将图切片称html。由后端的java工程师将图片渲染,
二:新的开发模式
大量的并发的浏览器请求,web服务器请求(nginx),应用服务器请求(tomcat),-->文件/数据库/缓存/消息列队服务器集群。
三: 前后端分离的好处
可以实现真正的前后端的解耦,前端服务器nginx,前端/web服务器放的是css,js图片,等一些静态的资源,可以将这些数据放到文件服务器上,。CDN进行加速。前端服务器控制跳转路由,前后端数据的交互,前端异步掉哟个后端接口。我们可以把tomcat当成是数据的提供中,
四: 在大并发的情况下,我们同事水平扩展前后端的服务器,处理接口意外的所有的http请求都放在ngix服务器上,即使后端宕机了也不会影响前端的数据的使用,最坏的情况是,他的数据数据刷新部出来而已。
五: 不要重启服务,前端就可以实现重新到额部署,前端的额部署更风力。
六: 如果i完请谅解的微服务,需要node.js做网关,