Bootstrap

微博评论架构设计

1.1 用户量预估

2020 年 9 月微博月活用户 5.11 亿,日活 2.24 亿(数据参考《微博 2020 用户发展报告》)

1.2 用户行为建模

微博每天发送量约为 2.5 亿,看微博关注的重点都集中在大 V 和明星,假设平均每条有 100 人观看,再假设 10%的用户会对微博评论发表自己的看法,则评论发送量约为 25 亿条。

大部分查看微博的用户都喜欢看评论区,假设 90%的人都爱看评论,则评论查看次数为 2.25 x 100 x 0.9 = 225 亿。

大部分人集中在早上 8 点~9 点,中午 12 点~13 点,晚上 20 点~22 点,假设这 4 个小时流量占比为 60%。

1.3 性能需求计算

25 亿 x 60% / (4 x 3600) = 100K/s

225 亿 x 60% / (4 x 3600) = 950K/s

2. 业务分析

2.1 发表评论

业务特性分析

微博发布评论,不用实时展现,可以出现延迟,因此可以使用消息队列进行削峰操作。

架构分析

用于微博用户量巨大,因此采用多级负载均衡架构,CDN->F5->nginx->网关

架构设计

2.2 看评论

业务特性分析

看评论是一个典型的读场景,由于评论发了后不能修改,因此非常适合用缓存架构,同时由于请求量很大,负载均衡架构也需要。

架构分析

架构设计

微博评论的多级缓存架构