栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > 架构设计

如何设计10亿用户系统架构?

架构设计 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何设计10亿用户系统架构?

分布式系统基本指标
  • TPS:每秒请求数量
    原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间。
    公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
  • QPS:每秒查询数量,一个TPS可能会有多个QPS
  • RT:系统对请求作出响应的平均时间
  • DAU:日活跃用户数量
  • MAU:月活跃用户数量
分布式系统高并发设计

假如系统有10亿用户

10亿用户,参照2/8定律(在任何一组东西中,最重要的只占其中一小部分,约20%,其余80%尽管是多数,却是次要的),每天大约有20%的用户会访问,即DAU=2亿用户访问,每个用户大约50次点击,辣么PV(Page View)就是100亿。

一天有24小时,大部分用户只有20%集中访问,即10亿用户每天大部分会集中在5个小时左右访问。也就是100亿*80%=80亿的PV会在五个小时集中访问,一个小时3600秒,也就是 80亿/5/3600= 45W,这是一个平均值,架构师需要考虑峰值时候的TPS,一般会在当前平均值上乘以 3 或 4,也就是45W * 4 = 180W个请求每秒(峰值预估值)。

如果180W个请求每秒,并发数量是多少呢???
如果每个请求RT时间为3秒,也就是服务端需要支持180W(一般会在系统上线进行监控,然后持续迭代系统)并发数量。

180W并发数量,辣么有哪些因素会影响到并发数量呢??

  • JVM
    GC算法、内存空间(空间不足的时候,会频繁GC,最后导致内存溢出)…
  • Tomcat
    针对Tomcat进行优化,如:增加tomcat最大线程个数,采用多路复用机制(NIO)增加连接数量…
  • 系统服务个数
    比如一台服务器能支持每秒1W个请求,180W并发就需要180台服务器
  • 数据库
    针对数据库查询进行优化,如:增加缓存,读写分离…
  • 网络通信
    采用长连接、连接池化、局域网通信、数据报文序列化算法…
  • 异步编程
    多线程编程、MQ异步
  • …
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/912306.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号