架构实战营 7 期「模块二」如何抓住架构设计关键点
朋友圈高性能复杂度分析
业务规模:有 7.8 亿用户进入朋友圈,1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条;
业务特性:用户很少关心历史数据,只关心近期的朋友圈动态;
性能指标:每天发布朋友圈的次数约 8 亿,按照 28 原则,近似估计其中的 80%即 6.4 亿集中在最高峰的 20%时间即 4.8 小时,那么平均压力约为 3.7 万 TPS;峰值预估为 10 倍,为 37 万 QPS;预估同时最多 5 人看,则为 185 万 QPS。
分析:
根据性能指标,任何模块单机都无法顶住这么大压力,都得是集群;
根据业务特性,历史数据可存储在分布式数据库,如 HDFS,可节省成本;近一个月的数据是热点数据,使用 Redis 集群缓存;关系数据库进行分库提高并发,分表提升读写性能;由于并发量大,对带宽要求也很高,引入 CDN,以降低查看朋友圈的带宽压力。
版权声明: 本文为 InfoQ 作者【Steve_bot】的原创文章。
原文链接:【http://xie.infoq.cn/article/45b9ead46cbea4adb150be146】。未经作者许可,禁止转载。
评论