前后分离的优势

news2024/11/24 22:29:21

 

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

2.发现bug,可以快速定位是谁的问题,不会出现互相踢皮球的现象。
页面逻辑,跳转错误,浏览器兼容性问题,脚本错误,页面样式等问题,全部由前端工程师来负责。
接口数据出错,数据没有提交成功,应答超时等问题,全部由后端工程师来解决。
双方互不干扰,前端与后端是相亲相爱的一家人。

3.在大并发情况下,我可以同时水平扩展前后端服务器,比如淘宝的一个首页就需要2000+台前端服务器做集群来抗住日均多少亿+的日均pv。
(去参加阿里的技术峰会,听他们说他们的web容器都是自己写的,就算他单实例抗10万http并发,2000台是2亿http并发,并且他们还可以根据预知洪峰来无限拓展,很恐怖,就一个首页。。。)

4.减少后端服务器的并发/负载压力
除了接口以外的其他所有http请求全部转移到前端nginx上,接口的请求调用tomcat,参考nginx反向代理tomcat。
且除了第一次页面请求外,浏览器会大量调用本地缓存。

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

6.也许你也需要有微信相关的轻应用,那样你的接口完全可以共用,如果也有app相关的服务,
那么只要通过一些代码重构,也可以大量复用接口,提升效率。(多端应用)

7.页面显示的东西再多也不怕,因为是异步加载。

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

9.增加代码的维护性&易读性(前后端耦在一起的代码读起来相当费劲)。

10.提升开发效率,因为可以前后端并行开发,而不是像以前的强依赖。

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/596563.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机网络】前后端分离,HTTP协议,网络分层结构,TCP,强缓存/协商缓存

❤️ Author: 老九 ☕️ 个人博客:老九的CSDN博客 🙏 个人名言:不可控之事 乐观面对 😍 系列专栏: 文章目录 前后端分类HTTP协议HTTP组成HTTP的版本HTTP的请求方式HTTP请求头HTTP响应头强缓存和协商缓存 HT…

Linux ls -l输出文件信息详解

在linux中,我们知道一切皆为文件,经常我们会使用ls -l去查看文件的信息,今天会大家详细讲解一下ls -l输出的文件属性信息。 1.ls -l输出 命令: ls -l 通过ls -l命令输出,我们可以看到上图中的属性信息输出&#xff…

【珍藏版】生态系统NPP及碳源、碳汇模拟、土地利用变化、未来气候变化、空间动态模拟

由于全球变暖、大气中温室气体浓度逐年增加等问题的出现,“双碳”行动特别是碳中和已经在世界范围形成广泛影响。碳中和可以从碳排放(碳源)和碳固定(碳汇)这两个侧面来理解。陆地生态系统在全球碳循环过程中有着重要作…

五、JSP05 分页查询及文件上传

五、JSP 分页查询及文件上传 5.1 使用分页显示数据 通过网络搜索数据时最常用的操作,但当数据量很大时,页面就会变得冗长,用户必须拖动才能浏览更多的数据 分页是把数据库中需要展示的数据逐页分步展示给用户 以分页的形式显示数据&#xff…

Elasticsearch 8.X “图搜图”实战

1、什么是图搜图? "图搜图"指的是通过图像搜索的一种方法,用户可以通过上传一张图片,搜索引擎会返回类似或者相关的图片结果。这种搜索方式不需要用户输入文字,而是通过比较图片的视觉信息来找到相似或相关的图片。这项…

Tomcat服务器的安装即相关介绍

一、Tomcat的安装步骤 1、访问官网下载点击此处进入Tomcat官网; 2、在下图所示位置点击想要下载的版本下载,这边演示的是以Tomcat8为演示对象; 3、进入下载页面如下图所示,根据系统类型和版本选择合适的安装包; 4、下…

Wampsever升级增加php5.6的方法过程

1、下载wampserver2.5,文件包名:wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b.exe https://sourceforge.net/projects/wampserver/files/WampServer%202/Wampserver%202.5/ 这个版本只有40M,包含: Apache-2.4.9&#x…

SpringCloud OpenFeign 学习

SpringCloud OpenFeign 文章目录 SpringCloud OpenFeign1 OpenFeign介绍2 OpenFeign-应用实例3 OpenFeign 测试 1 OpenFeign介绍 OpenFeign 是个声明式 WebService 客户端,使用 OpenFeign 让编写 Web Service 客户端 更简单 它的使用方法是定义一个服务接口然后在上…

【Java 抽象类抽象方法】什么是抽象类方法,如何定义,起什么作用?

博主:_LJaXi Or 東方幻想郷 专栏: Java | 从入门到入坟 Java 抽象类 & 抽象方法 抽象类的概念 👅抽象方法的概念 🐬抽象类和抽象方法结合使用 🦄 Java中的抽象类和抽象方法是面向对象编程中的重要概念,…

【系统学习】Java基础4之lamda表达式和函数式接口

lamda表达式与函数式接口 lamda表达式 语法格式一:无参,无返回值 Lambda 需要一个参数,但是没有返回值 语法格式三:数据类型可以省略,因为可由编译器推断得出,称为“类型推断” 语法格式四:…

MySQL和Redis之间的存储区别

概述 MySQL是一种关系型数据库,而Redis是一种键值对存储数据库。虽然它们都是用来存储和管理数据的,但是它们在很多方面都有不同,但是它们在存储策略、日志存储方式、硬盘存储、数据恢复等方面都有一定的区别。 数据类型 MySQL支持多种数据…

电脑怎么通过网络传输文件?

可以通过网络在电脑之间传输文件吗? “由于天气的原因,我的老板决定让所有员工在家工作。但是我很多工作文件都在公司的电脑中,怎么才能将公司的文件远程传输到我家里的电脑上?电脑可以通过网络远程传输文件吗?” …

计算机网络 | I/O模型、网络模型(OSI七层及TCP/IP四层)

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…

Python快速实现网页工具的利器

Python快速实现网页工具的利器 Streamlit是一个基于Python的Web应用程序开发框架,它具有快速开发、交互式、易于使用等特点。使用Streamlit,开发者可以很容易地将Python代码转换为漂亮的、交互式的Web应用程序,无需繁琐的前端开发经验。 如果…

什么是浪涌保护器SPD

浪涌保护器(SPD),也称为电涌保护器,是为各种电子设备,仪器和通信线路提供安全保护的电子设备。当由于外部干扰在电路或通信电路中突然产生尖峰电流或电压时,浪涌保护装置可以在很短的时间内传导和分流&…

设计模式之~策略模式

策略模式(Strategy): 它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。 结构图: 实例: 优点: 策略模式…

MySQL行锁浅析

概述 MySQL是非常流行的关系型数据库,许多系统都使用它来存储和管理数据。在高并发环境下,为了保证数据的一致性和可靠性,数据库需要实现并发控制,其中包括锁机制。MySQL提供了两种锁类型,一种是表级锁,另…

Java遍历Map集合,获取key、value等方式

首先构建一个Map集合&#xff1a; Map<String, Integer> buynew HashMap<>();buy.put("苹果手机", 2);//添加键值对buy.put("智能手表", 1);buy.put("java书", 1);buy.put("c语言书", 1);buy.put("西瓜", 2);打…

Git已经在本地提交过文件了,但又给撤销了,恢复已经撤销的内容

Git&#xff0c;我已经在本地提交过文件了&#xff0c;也就是已经执行了git commit -m "xxx"&#xff0c;但提交完之后又给撤销了&#xff0c;撤销的还能回来嘛&#xff1f; 这种情况仍然有机会恢复它。撤销提交的方法取决于你撤销提交的方式。 说白了就是&#xff0…

背景 | 基于 Transformers 的编码器-解码器模型

!pip install transformers4.2.1 !pip install sentencepiece0.1.95 Vaswani 等人在其名作 Attention is all you need 中首创了 基于 transformer 的编码器-解码器模型&#xff0c;如今已成为自然语言处理 (natural language processing&#xff0c;NLP) 领域编码器-解码器架构…