前后端解耦&Nginx

前后端分离已经是互联网项目开发的标准方式,通过Nginx+Tomcat的方式进行解耦;核心思想是html页面通过ajax调用后端的restful api接口并使用json数据进行交互;

web服务器:一般指Nginx、Apache等,只能解析静态资源;
应用服务器:一般指Tomcat、jetty等,可以解析动态及静态资源,但解析静态资源的能力没web服务器好;
一般只有web服务器才能被外网访问,应用服务器只能内网访问;

网站通过域名访问的过程:
浏览器通过域名通过dns服务器找到外网ip,将http请求发送到服务器,在tcp的3次握手之后(http下面是tcp/ip),通过tcp协议开始传输数据,服务器得到请求后开始提供服务,之后返回应答给浏览器,浏览器通过content-type来解析返回的内容呈现给用户;

当前开发过程:
1. 产品经理/领导/客户提出需求
2. UI做出设计图
3. 前后端约定接口&数据&参数
4. 前后端并行开发(无强依赖,可前后端并行开发,如果需求变更,只要接口&参数不变,就不用两边都修改代码,开发效率高)
5. 前后端集成
6. 前端页面调整
7. 集成成功
8. 交付

请求方式:
以前老的方式是:
1.客户端请求
2.服务端的servlet或controller接收请求(后端控制路由与渲染页面,整个项目开发的权重大部分在后端)
3.调用service,dao代码完成业务逻辑
4.返回jsp(整个页面)
5.jsp展现一些动态的代码

新的方式是:
1. 浏览器发送请求
2. 直接到达html页面(前端控制路由与渲染页面,整个项目开发的权重前移)
3. html页面负责调用服务端接口产生数据(通过ajax等等,后台返回json格式数据,json数据格式因为简洁高效而取代xml)
4. 填充html,展现动态效果,在页面上进行解析并操作DOM。
(访问一下阿里巴巴等大型网站,然后按一下F12,可以监控一下刷新一次页面,他的http是怎么玩的,大多数都是单独请求后台数据,使用json传输数据,而不是一个大而全的http请求把整个页面包括动+静全部返回过来)

总结一下新的方式的请求步骤:
大量并发浏览器请求--->web服务器集群(nginx)--->应用服务器集群(tomcat)--->文件/数据库/缓存/消息队列服务器集群;
同时又可以玩分模块,还可以按业务拆成一个个的小集群,为后面的架构升级做准备。

真正的前后端解耦,前端服务器用的是Nginx,将css、js、图片等一系列静态资源放在前端服务器上,并且控制页面的引用/路由/跳转,然后异步调用后端的接口,后端服务器使用Tomcat(Tomcat在此处是一个数据提供者),加快整体响应速度;

前端项目与后端项目是两个项目,放在两个不同的服务器上,需要独立部署。

转载于:https://www.cnblogs.com/yuanfei1110111/p/10136858.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值