什么是高并发系统?

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://xiahunao.cn/news/2661727.html

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

相关文章

大数据实践之路 读后感

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

工业以太网交换机的出色优势是什么?

网络交换机可以分为商用网络交换机和工业以太网交换机两种类别。就其灵活性和抗干扰性而言,工业交换机和商用交换机之间存在着显著差异,工业交换机的功能更加实用。 工业以太网和商业网络在数据链路层、网络层和协议层等方面基本上没有本质区别。工业以…

白话机器学习的数学-2-分类

1、设置问题 图片分类:只根据尺寸把它分类为 纵向图像和横向图像。 如果只用一条线将图中白色的点和黑色的点分开: 这次分类的目的就是找到这条线。 2、内积 找到一条线,这是否意味着我们要像学习回归时那样,求出一次函数的斜率…

2024年第三届服务机器人国际会议(ICoSR 2024) | Ei、Scopus双检索

会议简介 Brief Introduction 2024年第三届服务机器人国际会议(ICoSR 2024) 会议时间:2024年7月26日-28日 召开地点:中国杭州 大会官网:www.iwosr.org 进入新时代,科技更新迭代快速发展,机器人不仅变得更加节能&#x…

创新型产品说明书模板的设计与实践,我悟了!

在当今这个快节奏、高效率的时代,产品说明书已经不再仅仅是一纸简单的使用指南。它既是产品的重要组成部分,也是品牌形象和用户体验的关键环节。然而,传统的产品说明书制作方式往往效率低下,管理混乱,难以满足市场的多…

vue3+ts打开echarts的正确方式

实例项目使用 vite5 vue3 ts,项目地址 vite-vue3-charts,预览地址 https://weizwz.com/vite-vue3-charts 准备工作 1. 注册为百度地图开发者 官网地址,然后在 应用管理 -> 我的应用 里,创建应用,创建好后复制 AK …

线上发布稳定性方案介绍

目录 一、方案说明 二、线上发布问题描述 2.1 无损上下线背景说明 2.1.1 服务⽆法及时下线 2.1.2 初始化慢 2.1.3 注册太早 2.1.4 发布态与运⾏态未对⻬ 三、问题解决方案 3.1 无损下线方案 3.1.1 什么是无损下线 3.1.2 传统解决方式 3.1.3 云原生场景解决方案 3.1…

Net6 Core webApi发布到IIS

Net6 Core Api发布到IIS不同于webapi,依赖框架不同,配置也移至项目内Program.cs 一、发布到指定文件夹和IIS,不过注意IIS应用程序池选择的是 “无托管代码“ 在IIS管理器中点击浏览,访问接口路径报500.19,原因是所依赖…

HALCON报错#2021:System clock has been set back 解决方案

如果操作系统修改过时间,再更新到正常的时间后,打开halcon可能会报错#2021:System clock has been set back. 解决方案: 1、联网同步Windows 系统时间。 2、检查以下目录中是否有超过当前时间的文件(删除&#xff09…

o2o生活通全开源尊享版+多城市切换+企业付款+交友IM+平台快报

搭建教程 1.把 pigo2ov282.sql 文件里面的网址 test.souho.net 全部批量替换为你的自己的 2.使用 phpmyadmin 导入 pigo2ov282.sql 到你的数据库(直接访问/phpmyadmin 即可) 3.修改数据库文件/conf/db.php 里的数据库连接信息(请勿使用记事本…

最新最全智能科学与技术专业毕业设计选题精华汇总-持续更新中

文章目录 0 简介1 如何选题2 最新智能科学与技术毕设选题3 最后 0 简介 Hi,大家好,随着毕业季的临近,许多同学开始向学长咨询关于选题和开题的问题。在这里,学长分享一些关于智能科学与技术专业毕业设计选题的内容。 以下为学长…

反转链表、链表的中间结点、合并两个有序链表(leetcode 一题多解)

一、反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 思路一:翻转单链表指针方向 这里解释一下三个指针的作用: n1&#xff1…

Emu2:37B参数开创多模态生成新篇章

引言 多模态任务在人工智能领域一直是极具挑战性的「技术高地」。智源研究院最近开源发布的新一代多模态基础模型Emu2,在这一领域取得了突破性进展。Emu2以其庞大的37B 参数规模和强大的多模态生成能力,为AI的多模态理解和生成开启了新的篇章。 模型概…

Python基础进阶:9个易错知识点

你好,我是kelly。 kelly根据自己平时工作,总结9个易错知识点,希望对大家有用。 知识点1:is 和 is比较是两个变量地址是否相同,比较是两个变量的值(内容)是否相同。 示例: In [92…

全方面了解vcruntime140_1.dll的解决方法,多种vcruntime140_1.dll丢失的方法

在日常使用电脑时,我们常常遇到各种各样的问题。其中之一就是丢失vcruntime140_1.dll文件,这是一个重要的系统文件,会影响到电脑的正常运行。今天小编就来给大家详细的说说这一方面的咨询,教会大家多种的丢失vcruntime140_1.dll的…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《适应储能参与的调频辅助服务市场机制设计及调度策略》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主的专栏栏目《论文与完整程序》 这个标题涉及到储能技术在电力系统中参与调频辅助服务市场的机制设计和调度策略。下面对标题中的关键术语进行解读: 储能参与的调频辅助服务&am…

Cocos3D项目中fbx模型转gITF模型和glb模型

1.npm安装:先按照npm哈 npm install --save fbx2gltf -g 2. 到指定目录 cd C:\Program Files\nodejs\node_global\node_modules\fbx2gltf\bin\Windows_NT cmd命令行界面进入node_modules\fbx2gltf文件下的bin文件,然后根据平台选择进入相应目录&#…

元旦快到了,分享一些元旦祝福模板

元旦-王安石 爆竹声中一岁除,春风送暖入屠苏。 千门万户曈曈日,总把新桃换旧符。 元旦其实也是中国的传统节日了,不过元旦是由中国的春节演化而来的。传统的元旦时间是正月初一,从王安石的诗也能看的出来,其实描述的…