当前位置: 首页 > news >正文

第1章:三高设计概述

高并发–高可用-高性能

互联网中的“三高”是指:高并发、高可用、高性能。

高并发:用 QPS/TPS 衡量系统对任务的处理能力。

  • TPS:每秒事务数,可以是一个接口、多个接口,或一个完整业务流程(包含增删改操作)。
  • QPS:每秒查询数,指一台服务器每秒能够响应的查询次数。QPS 只是查询统计,不能描述增删改等操作;如果只做查询,TPS=QPS。

高可用:用 SLA 衡量系统可用性水平,目标通常是 7×24 小时不间断服务。

  • 从时间维度看:系统可正常使用时间 / 总时间。
  • 从请求维度看:总请求次数中失败请求的占比。

高性能:常用 RT 衡量系统响应速度,要求低延迟(Latency)、低内存占用、低 CPU 占用率。

三高不是孤立目标,而是相互影响、相互支撑的系统能力。

  • 高并发方面:关注 Throughput(吞吐量),例如可达 10 万级。
  • 高性能方面:关注延迟,例如 Latency 小于 100ms。
  • 高可用方面:关注系统可用性,例如 SLA 高于 99.99%。
  • 但随着并发量上升,请求延迟通常会增大;若系统处理不过来,可用性就会下降。

三高下的技术方案-高并发,高性能

多大并发量才算高并发?

  • 1 万 QPS 的商品列表查询未必属于高并发,结合缓存即可达到。
  • 5 千 TPS 的下单接口通常属于高并发场景,因为链路复杂度不同。
  • 需要结合具体场景和资源投入综合判断。

系统架构:

  • 无状态业务 + 水平扩展(Scale Out):通过增加服务器数量线性扩展系统性能。
  • 架构难点在于做到全链路水平扩展。

【负载均衡】思想:

  • 节点轮询、随机、加权轮询、节点固定 Hash。
  • 适用场景:DNS 解析轮询;网关分发到后端服务;应用服务内部 RPC 负载均衡;分库分表后的负载分发。

【缓存】思想:

  • 本地缓存 / 分布式缓存。
  • 适用场景:浏览器静态资源缓存;DNS 解析缓存;应用内部缓存;数据存储层缓存(如 MySQL Query Cache)。

【池化复用】思想:

  • 线程池 / 对象池 / 连接池 / 内存池。
  • 适用场景:Java 线程池;JDBC/Redis/HttpClient 连接池;Spring IOC 容器对象池。

【异步】思想:

  • 多线程 / 消息队列。
  • 适用场景:前端 Ajax 异步请求;RocketMQ/Kafka 同步双写-异步刷盘;应用多线程异步处理。

【预处理-惰性更新】思想:

  • 定时任务 / 懒加载。
  • 适用场景:运营后台报表的定时提取与预计算;MyBatis 懒加载。

【分而治之】思想:

  • Master-Worker。
  • 适用场景:Hadoop MapReduce;JDK Fork/Join Framework;消息队列广播消息;归并排序算法。

三高下的技术方案-高可用

集群架构:

  • 将多个相同应用组成集群,提供同一种服务;某个节点故障时,不影响系统整体可用性。
  • 通过横向扩展增加节点,提高并发处理能力。
  • 典型组件:微服务集群、Redis 集群、Kafka 集群、Nginx 集群、Nacos 集群、MySQL 集群、ZK 集群。

熔断降级:类似“保险丝”机制。为防止系统整体故障,可临时关闭部分非核心接口,返回兜底数据。

限流:

  • 当访问频率或并发请求超过系统承载范围时,需要限流以保证接口可用性。
  • 常见方法:漏斗模型、令牌桶算法、漏桶算法。

隔离:

  • 服务与资源相互隔离(如网络资源、机器资源、线程资源等),避免某个服务资源不足时抢占其他服务资源。

多活架构:

  • 同城双活-双机房:两个机房部署在同城,通过专线互联;相比单机房内延迟略高,但整体可接受。
  • 异地多活-两地三中心:两地指 2 个城市,三中心指 3 个机房;其中 2 个机房在同城并同时提供服务,第 3 个机房部署在异地,主要用于数据灾备。

部署在同城,通过专线互联;相比单机房内延迟略高,但整体可接受。

  • 异地多活-两地三中心:两地指 2 个城市,三中心指 3 个机房;其中 2 个机房在同城并同时提供服务,第 3 个机房部署在异地,主要用于数据灾备。

http://www.jsqmd.com/news/425539/

相关文章:

  • AI驱动数字藏品平台智能合约设计:架构师的实践经验(附合约代码)
  • 9.标识符
  • 扩展中国剩余定理 ExCRT 总结
  • 搭建WSL2环境
  • MarkDown基本语法之我的第一篇博客
  • 小递查查:一键智查快递,全场景物流管理效率革命
  • 毕业论文AI写作网站大全,技巧一键get
  • 16个AI论文生成工具,附高效使用秘诀
  • YashanDB的errno 24, error message Too many open files故障分析
  • 16个高效AI论文写作网站,技巧全解析
  • 深度学习篇---多模态
  • 毕业论文必备:16个AI写作平台及使用攻略
  • 毕业论文神器:16个AI写作工具使用指南
  • 欧拉函数 总结
  • 16大AI论文助手盘点,附详细技巧分享
  • AI Agent在智能浴缸中的水疗模式个性化
  • PowerShell 批量下载 SharePoint Online 文档
  • 论文写作利器:16个AI网站推荐与技巧
  • 16款AI论文写作网站推荐,附操作指南
  • 16个AI工具助力毕业论文,附实用方法
  • K8S负载均衡原理详解 - 智慧园区
  • 提示系统从崩溃到稳定:架构师的30天服务治理改造记
  • 北京GEO服务商怎么挑?2026年AI获客实战指南 - 品牌2025
  • Java编译报码8273代码解决的思路
  • 北京GEO服务商哪家强?2026年AI获客能力全景透视 - 品牌2025
  • 基于springboot框架的交通事故档案管理平台的设计与实现_o63l5u1o
  • 基于springboot框架的大学生健康管理系统_35l867i9
  • Dora视觉集成系统
  • 2026年琼海人气海鲜店推荐,抢先体验最值得的琼海海鲜大餐排行榜
  • Gaia 与 ARE:赋能社区的智能体评测