怎样筹划一个高并发体系

手机软件开发 2024-10-5 06:27:05 77 0 来自 中国
什么是高并发

高并发(High Concurrency)是指通过筹划包管体系可以或许同时并行处理处罚许多哀求。
常用指标有:

  • QPS,每秒相应哀求数
  • TPS,每秒相应事件数
  • RT,相应时间,体系对哀求做出相应的时间
  • Concurrency,并发数,体系同时能处理处罚的哀求数目
  • 吞吐量:单位时间内处理处罚的哀求数目
进步并发的思绪


  • 低落 RT
  • 进步 Concurrency
怎样低落 RT


  • 升级服务器和数据库硬件设置,最简朴粗暴且有用的手段,但是硬件能带来的提升是有上限的
  • 服务端引入缓存,缓存分为本地缓存和分布式缓存,可明显低落查询接口的相应时间
  • 购买 CDN 服务,将图片、html、css、js等静态资源上传到 CDN,可明显低落用户打开页面的相应时间
  • 业务优化,好比流程拆分,将实时性要求低的流程写入消息队列进行异步处理处罚,将相互独立的流程并行处理处罚;数据预加载;克制热门数据;索引优化;JVM 优化等
怎样进步 Concurrency


  • 使用反向署理 Nginx,可以大大的进步服务的并发数,一样平常可以到达 10w 并发数,此时单机数据库会出现瓶颈
  • 数据库读写分离,数据库使用主从模式,对划一性要求低的查询哀求可以走从库,分担主库压力
  • 数据库分库分表,把差别业务的数据放到差别的数据库中,假如单表数据量过大,可以进行分表存储。分库分表可以明显提升数据库查询的服从
  • 使用负载均技能 LVS/F5,此时 Nginx 已经成为瓶颈,多加一层 Nginx 会影响 RT,以是一样平常会使用更高效的负载平衡软件 LVS 大概硬件 F5,此时并发数可以上升到几十万
  • 使用 DNS 负载平衡,可以在域名下面绑定多个假造IP,每个假造 IP 指向一个机房,此时并发数已经来到百万、万万以致亿的级别,服务入口的并发数将不在是瓶颈。
架构图

世上没有全能的架构,必要根据实际环境进行权衡。

您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 16:46, Processed in 0.089659 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表