什么是高并发系统?

news2024/11/27 18:34:09

1.1 什么是高并发?

  • 高并发(High Concurrency),通常是指通过设计保证系统能够同时处理很多请求。即在同一个时间点,有很多的请求同时访问同一个接口。
  • 高并发意味着大流量,需要运用技术手段去抵抗这种大流量的冲击,以达到系统能平稳处理流量且系统自身依然运行良好的目的。
  • 高并发是一种系统在运行过程中“短时间内遭遇大流量冲击”的情况。如果没有处理好,则很有可能造成系统吞吐率下降,响应变慢,从而影响用户体验,甚至可能造成系统彻底不可对外服务的情况发生。所以需要优化系统(包括硬件、网络、应用、数据库等)来达到高并发的要求。

1.2 高并发系统有哪些关键指标?

1. 响应时间(Response Time):从第一次发出请求到收到系统完整响应数据数据所需时间。直接反映系统响应的快慢。

2. 吞吐量(Throughput):单位时间内系统所处理的用户请求数。直接反映系统的负载能力。

  • 采用“请求数/秒”方式的吞吐量,瓶颈主要来源于应用服务器和应用本身
  • 采用“字节数/秒”方式的吞吐量,瓶颈主要来源于网络基础设施、服务器架构和服务器约束等

3. 每秒请求数(QPS):服务器在一秒内共处理了多少个请求,主要用于表示“读”请求。

4. 每秒事务数(TPS):即服务器每秒处理的事务数。(一个事务包括“客户机向服务器发送请求 + 服务器响应”的过程)

5. 访问量(PV):用户每对网站中的1个网页访问1次被记录1次

6. 独立访客(UV):访问某个站点或点击某个链接的不同IP地址数。(即在同一天内,UV只记录第一次进入网站的具有独立IP地址的访问者,在同一天内访问者再次访问该网站则不计数。)

1.3 对比单体系统、分布式系统和微服务系统

1.3.1 单体系统之痛:

单体系统即一个应用程序,所有的业务代码都在这一个应用程序中,所有的表也都在一个数据库中,所涉及的相关文件都在同一个服务器上。

单体系统面临的问题:

  • 需要频繁地合并代码分支,影响项目的迭代进度
  • 多人协作耦合度高,测试效率低下
  • 开发节奏混乱,代码冲突频繁
  • 代码模块层次越来越复杂,业务边界变得不清晰
  • 项目越来越大,技术架构升级变得困难

单体系统一般采用三层架构

(1)用户展示层:负责用户端的展现和体验

(2)业务层:负责业务的所有逻辑操作

(3)数据访问层:负责操作数据库,如读写数据库等

单体分层架构的弊端

  • 从水平方向来看,的确降低了业务的深度复杂性。
  • 从垂直方向来看,单体的业务边界不够清晰,因为在各层之间会进行网状的调用,比如,用户展现层的某个模块会调用业务层的多个模块。(甚至所有模块);业务层的模块同样会调用数据访问层的多个模块等。

 1.3.2 高并发系统之分布式架构

分布式架构是指,将相同或者相关的应用放在多台计算机上运行,以达到分布式计算机的目的。(将一个系统拆分为多个独立的应用,然后它们相互协作,通过对方提供的API进行交互,组成一个整体,共同完成任务)

分布式架构局限性:

  • 开发者在开发应用时,需要考虑当前应用的API模块。因为如果业务需要更改了相关底层逻辑,则这种修改会影响API模块,所以需要对API模块也进行对应逻辑的修改,否则已经在调用的服务会出现调用错误,影响线上产品。
  • 外部的服务需要依据自己的业务向服务提供方提出相应的小需求。服务提供方可能只是改动了API模块,但是从整体来说则需要测试并重新部署一遍,影响服务的稳定性。

 1.3.3 高并发系统之微服务架构

微服务是一种流行的架构设计风格:

  • 微服务是由单一应用构成的小型服务,拥有自己的进程与轻量化处理。
  • 微服务依据业务功能设计,以全自动的方式部署,与其他微服务使用HTTP API 进行通信。
  • 微服务会使用最小规模的集中管理技术,例如Docker
  • 微服务可以使用不同的编程语言和数据库。

微服务系统就是将复杂的单体系统中的模块按照某种规则进行拆分,这些被拆分出来的模块被独立部署在相对较小的服务器集群上。独立部署的模块彼此之间使用远程调用的方式来完成整个业务的处理。这些被独立部署的模块就是微服务,而这样的应用架构就是微服务架构。

微服务架构特征:

(1)通过服务实现组件化

(2)围绕业务能力来组织开发团队

(3)去中心化管理

(4)去中心化数据存储

(5)基础设施自动化

(6)充分考虑故障

微服务架构的问题:

(1)增加了复杂度

(2)服务间的通信会变得复杂

(3)在落地微服务时,微服务边界的划分增加了实现的复杂度

(4)保持数据一致性非常复杂

(5)对运维团队和开发团队都提出了更高的要求

(6)开发流程复杂

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

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

相关文章

行业智能终端定制

专注行业智能终端研发15年,有专业的技术和丰富的研发经验。产品定制范围:条码扫描手持机、RFID手持机、身份证手持机、行业平板、GPS/北斗高精度定位手持机/平板电脑、北斗短报文手持机。 能提供外观设计、结构设计、主板(PCBA)开…

JNPF开发平台--初体验

这一两年低代码的概念很流行,我也在网上了解体验了一番。 目前低代码主要分为两种,第一种是与云平台绑定的低代码,在云平台上开发,直接发布到云平台;第二种是低代码框架,低代码项目,这种比较流行…

mybatisX自动生成sql语句,尝试测试方法报错

今天我使用mybatisx自定义mapper方法生成sql语句后,在测试时报错 错误是MyBatis 无法找到映射的语句(Statement)引起的 我是这样操作的,在mapper接口自定义了一个方法 然后alt加enter,自动生成sql 结果 mapper.xml文件…

旅行旅游研学线路景点门票特产周边小程序开源版开发

旅行旅游研学线路景点门票特产周边小程序开源版开发 以下是旅行旅游研学线路景点门票特产周边小程序开源版开发的功能列表: 首页: 展示热门线路和推荐景点信息提供搜索功能,用户可以通过关键词搜索线路、景点、特产等显示当前位置和附近的景…

【Java干货教程】JSON,JSONObject,JSONArray类详解

一、定义 JSON:就是一种轻量级的数据交换格式,被广泛应用于WEB应用程序开发。JSON的简洁和清晰的层次结构,易于阅读和编写;同时也易于机器解析和生成,有效的提升网络传输效率;支持多种语言,很多…

主动红外探测器,预计到2026年将达到16 亿美元

主动红外探测器,也称为运动传感器,是一种通过发射红外辐射并检测反射来检测移动物体存在的电子设备。它们广泛用于安全系统、自动门、照明控制和其他需要运动检测的应用。近年来,由于对安全系统的需求不断增加以及智能家居和建筑的发展&#…

docker 安装可视化工具 Protainer 以及 汉化

一、创建保存数据的卷 安装网址:Install Portainer BE with Docker on Linux - Portainer Documentation docker pull portainer/portainer二、根据portainer镜像创建容器 docker run -d -p 8000:8000 -p 9000:9000\ --name portainer --restartalways \ -v /var/r…

万相台(万相台无界版-消费者运营/货品运营/活动运营)基础知识点总结

1.万相台是全站内推广渠道,相对直通车(万相台无界版-关键词推广)、引力魔方(万相台无界版-精准人群推广)可操控性弱,主要靠平台智能投放; 2.万相台经典特点:cpc可高可低&#xff0c…

jquery文件上传(CVE-2018-9207)

漏洞描述&#xff1a; jQuery是一个快速、简洁的JavaScript框架&#xff0c;是继Prototype之后又一个优秀的JavaScript代码库&#xff08;框架&#xff09;于2006年1月由John Resig发布。 jQuery Upload File < 4.0.2 中的任意文件上传 根目录下/jquery-upload-file。 复现…

骨传导耳机的原理是什么?一文读懂骨传导耳机优缺点都有哪些!

一、骨传导耳机传声原理是什么 骨传导耳机以人体骨骼为传声介质&#xff0c;可以将声音转化为不同频率的震动&#xff0c;在不经过外耳道和鼓膜的情况下&#xff0c;通过震动使声音经过内耳道&#xff0c;直接传入大脑听觉神经&#xff0c;与传统耳机相比&#xff0c;可以节省许…

惟客数据昆仑-开发云成功开源了!让研发更简单高效

​近期&#xff0c;WakeData惟客数据产品——昆仑-开发云成功开源。 今年4月&#xff0c;惟客数据完成了新一轮产品能力升级&#xff0c;与战略伙伴联合研发具有私有化部署能力的行业大模型 WakeMind 。 昆仑-开发云在可视化领域建模的基础上也引入了 WakeMind 的能力&#x…

力扣:968. 监控二叉树(贪心,二叉树)

题目&#xff1a; 给定一个二叉树&#xff0c;我们在树的节点上安装摄像头。 节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。 计算监控树的所有节点所需的最小摄像头数量。 示例 1&#xff1a; 输入&#xff1a;[0,0,null,0,0] 输出&#xff1a;1 解释&…

大数据实践之路 读后感

欢迎关注公众号&#xff1a;数据运营入表资产化服务&#xff0c;获取更多算法源码材料 2023数据资源入表白皮书&#xff0c;推荐系统源码下载-CSDN博客 浅析研发支出费用化和资本化的区别-CSDN博客 商业银行数据资产估值白皮书&#xff0c;推荐系统源码下载-CSDN博客 用友B…

【软件工程大题】McCabe方法_计算环形复杂度的方法

计算环形复杂度的三种方法 方法一 流图中线性无关的区域数等于环形复杂度. 关于线性无关区域 每一个由若干线条组成的密闭空间就是一个线性无关区域,图形的外界也算一个区域,如果没封闭上一个空间,那么它就算和外界算为一个整体 方法二 流图边数-结点数2 方法三 流图中判…

再获认可,YashanDB入选工信部电子一所“2023年数字化转型自主创新解决方案优选案例”

近日&#xff0c;由国家工业信息安全发展研究中心&#xff08;工业和信息化部电子第一研究所&#xff09;主办的“数智赋能 创新领航”2023年数字化转型自主创新解决方案优选案例正式公布。深圳计算科学研究院&#xff08;简称&#xff1a;深算院&#xff09;自主研发的崖山数据…

BFC 2023年度星光之夜即将开启,打造梦幻跨年盛典

跨年钟声即将敲响&#xff0c;星光繁花璀璨绽放。2023年12月31日&#xff0c;BFC外滩金融中心&#xff08;下称BFC&#xff09;年度星光之夜拉开帷幕&#xff0c;在热酒派对和星光音乐会的热烈节日氛围中&#xff0c;幸运气球将在全场传递节日祝福&#xff0c;更有惊喜好礼抽奖…

业务分析走向业务架构(元旦读物)

新的一年马上开始了&#xff0c;2024有什么规划呢&#xff0c;不妨假期里思索一番&#xff0c;立下个flag&#xff0c;以待明年回眸一笑。2024年关于企业数字化平台构建&#xff0c;小目标&#xff1a;掌握业务分析&#xff0c;流程分析&#xff0c;项目分析 三大基础内容&…

【JVM篇】Java是如何实现平台无关的?

Java是如何实现平台无关的? ✔️什么是平台无关性✔️平台无关性的实现✔️Java虚拟机✔️字节码✔️Java语言规范 ✔️扩展知识仓✔️平台无关性的好处✔️ 有哪些语言实现了平台无关?✔️Java中基本数据类型的大小都是确定的吗? ✔️什么是平台无关性 平台无关性就是一种语…

TikTok年度回顾:2023年的亮点时刻

2023年&#xff0c;TikTok再次成为全球关注的焦点&#xff0c;不仅延续了其独特的社交媒体魅力&#xff0c;还在创新、文化影响力等方面取得了一系列令人瞩目的亮点时刻。本文将深入探讨TikTok在2023年的重要事件、创新举措以及对社会的深远影响。 创新功能引领社交潮流 TikTok…

数据结构与算法教程,数据结构C语言版教程!(第一部分、数据结构快速入门,数据结构基础详解)三

第一部分、数据结构快速入门&#xff0c;数据结构基础详解 数据结构基础&#xff0c;主要研究数据存储的方式。 本章作为数据结构的入门课程&#xff0c;主要让读者明白&#xff0c;数据结构到底是什么&#xff0c;常用的数据存储结构有哪些&#xff0c;数据结构和算法之间到底…