设计微博系统中”微博评论“的高性能高可用计算架构
性能估算
用户量预估
2020.9 月月活 5.11 亿,日活 2.24 亿(参考《微博 2020 用户发展报告》)。
用户行为建模
发评论
假设平均每天每人发 1 条微博(只考虑文字微博),每条微博 3~5 条评论(非热点微博),则每日的评论发送量 2.5 亿*1*5=12.5 亿
大部分的人发评论集中在早上 8:00~9:00 点,中午 12:00~13:00,晚上 20:00~22:00,假设这几个时间段发评论总量占比为 60%,则这 4 个小时的平均发微博的 TPS 计算如下: 12.5 亿 * 60% / (4 * 3600) ≈ 50 K/s。
性能需求计算
看评论是典型的读业务,由于评论不可更改,特别适用缓存,发评论是典型的写业务,由于 qps 比较高,需要使用负载均衡策略。看评论和写评论是两种不同的场景,服务可以单独部署。
热点事件时的高可用计算架构
业务分析
对于热点事件的微博,评论量很大,但是对于评论的时效性,和数据的一致性,并没有特别高的要求,因此,可以使用异步队列缓冲发微博的事件。
评论