模块 2 作业分享思路
设计高性能架构的步骤(参考课程 2-5 微信红包高性能复杂度分析实战)
业务分析
模块划分
峰值分析
不同场景方案设计
整体架构方案设计
业务分析
分析朋友圈的性能业务指标,根据数据推断出各项功能的请求峰值数量(TPS/QPS),这样在去做具体的架构分析。
模块划分
根据业务需求,我们将朋友圈分成发朋友圈,看朋友圈,还有评论/点赞三个子模块。
峰值分析
发朋友圈:发朋友圈每天大概 1.2 亿人,发朋友圈用 TPS 衡量。这里我们用 16 个小时算,峰值按 10 倍估算,120000000/16*10 约为 2 万 TPS。
看朋友圈:进入朋友圈大概 7.8 亿人,发朋友圈为 1.2 亿,假设剩下的 6.6 亿为看朋友圈,看朋友用 QPS 衡量。这里也用 16 个小时算,峰值按 10 倍算,660000000/16*10 约为 11 万 QPS。
评论/点赞:评论点赞的人数我们按照 28 原则进行划分,也就是进入朋友圈的人数的 1/5,那么就是 2.2 万 TPS。
TPS:Transactions Per Second,意思是每秒事务数。一个事务是指客户端向服务器发送请求然后服务器做出反应的过程,具体的事务定义,可以是一个接口、多个接口、一个业务流程等等。以单接口定义为事务举例,每个事务包括了如下 3 个过程:
向服务器发请求
服务器自己的内部处理(包含应用服务器、数据库服务器等)
服务器返回结果给客户端
如果每秒能够完成 N 次以上 3 个过程,TPS 就是 N。
QPS:Queries Per Second,意思是每秒查询率。指一台服务器每秒能够响应的查询次数,用于衡量特定的查询服务器在规定时间内所处理流量多少,主要针对专门用于查询的服务器的性能指标......
来源:https://blog.csdn.net/a745233700/article/details/117917333
场景性能方案设计
根据课程 2-2 如何设计高性能架构和 2-5 微信红包高性能复杂度分析实战的复杂度框架进行三个场景分析
发朋友圈性能方案
看朋友圈性能方案
评论点赞性能方案
分片存储就是将大型数据库中的数据按照某种规则分成很多数据分片,再将这些数据分片分别存放在不同的服务器中,以减小每个服务器的数据访问压力,从而提高整个数据库系统的性能。
评论