前后端分离概述

背景

前后端分离模式是对MVC开发模式的优化与延续,前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。

MVC科普:model-view-controller
REST风格API设计原则

为什么要前后端分离

  • 用户访问页面越来越慢
  • 系统性能下降,数据库扛不住,连接数经常打满,最终数据库挂掉,重启后又快速挂掉
  • 改了一个小地方,另外一个看似不相干的地方却挂了,严重耦合
  • 互联网日趋移动化

开发模式的探索

以前的方式 新的方式
产品经历/领导/客户提出需求 产品经历/领导/客户提出需求
UI做出设计图 UI做出设计图
前端工程师做html页面 前后端约定接口&数据&参数
后端工程师将html页面套成jsp页面 前后端并行开发
集成出现问题 前后端集成
前端返工 前端页面调整
后端返工 集成成功
二次集成 交付
集成成功
交付

请求方式的改变

以前的方式 新的方式
客户端请求 浏览器发送请求
服务端的servlet或controller接收请求 直接到达html页面
调用service,dao代码完成业务逻辑 html页面负责调用服务端接口产生数据
返回jsp 填充html,展现动态效果,在页面上进行解析并操作DOM。
jsp展现一些动态的代码

前后端分离褒贬的讨论

需要前后端分离场景
  1. 前端变化远比后端变化频繁
  2. 尚处于原始开发模式,数据逻辑与表现逻辑混杂不清
  3. 前端效果绚丽/跨设备兼容要求高

前后分离的优势:

  1. 可以实现真正的前后端解耦,前端服务器使用nginx。
  2. 发现bug,可以快速定位是谁的问题,不会出现互相踢皮球的现象。
  3. 在大并发情况下,可以同时水平扩展前后端服务器。
  4. 减少后端服务器的并发/负载压力
  5. 即使后端服务暂时超时或者宕机了,前端页面也会正常访问,只不过数据刷不出来而已。
  6. 多端应用
  7. 页面显示的东西再多也不怕,因为是异步加载。
  8. nginx支持页面热部署,不用重启服务器,前端升级更无缝。
  9. 增加代码的维护性&易读性(前后端耦在一起的代码读起来相当费劲)。
  10. 提升开发效率,因为可以前后端并行开发,而不是像以前的强依赖。
  11. 在nginx中部署证书,外网使用https访问,并且只开放443和80端口,其他端口一律关闭(防止黑客端口扫描),
    内网使用http,性能和安全都有保障。
  12. 前端大量的组件代码得以复用,组件化,提升开发效率,抽出来!

注意事项:

  1. 在开需求会议的时候,前后端工程师必须全部参加,并且需要制定好接口文档,后端工程师要写好测试用例(2个维度)
  2. 上述的接口并不是java里的interface,说白了调用接口就是调用你controler里的方法。
  3. 加重了前端团队的工作量,减轻了后端团队的工作量,提高了性能和可扩展性。
  4. 我们需要一些前端的框架来解决类似于页面嵌套,分页,页面跳转控制等功能。
  5. 如果页面上有一些权限等等相关的校验,那么这些相关的数据也可以通过ajax从接口里拿。
  6. 前端需要有机制应对后端请求超时以及后端服务宕机的情况,友好的展示给用户。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容