写点什么

极客架构营 2 期模块 5 作业

用户头像
Ping
关注
发布于: 刚刚
极客架构营2期模块5作业

【设计微博系统中“微博评论”的高性能高可用计算架构】

 

  • 估算

-发微博评论

微博用户量为月活 5.11 亿,日活 2.24 亿。假设平均每天每人发 1 条微博(只考虑文字微博),则微博每天的发送量约为 2.5 亿条。我们再假设平均一条微博平均有 10 个评论,则每日微博的评论为:2.5 亿* 10 = 25 亿。大部分的人发微博集中在早上 8:00~9:00 点,中午 12:00~13:00,晚上 20:00~22:00,假设这几个时间段发微博总量占比为

60%,则这 4 个小时的平均发微博评论的 TPS 计算如下:

25 亿* 60% / (4 * 3600) ≈ 100 K/s。

-看微博评论

大部分人看微博也一起看评论,因此这里的 QPS 和看微博的相同:1000 K/s

 

  • 非热点计算架构设计

-发微博评论

发微博评论是一个写操作,因此不能用缓存,可以用负载均衡。

用户量过亿,应该要用多级负载均衡架构。

发评论设计类似发微博,但是由于评论和微博连在一起,存储数据的时候应有相关微博信息。发评论不和发微博共享服务因为逻辑和 TPS 都有区别。

 

另外发评论可以用写缓冲,假设写缓冲可以削 90%的 TPS,按照一个服务每秒处理 500 来估算,完成 10%*100=10K/s 的 TPS,需要 20-25 台服务器差不多了。



-看微博评论

这里可以和看微博共享服务。 使用缓存架构和负载均衡架构。

 

  • 热点计算架构设计

无法预估,那就做好预防!

-看微博评论

很明显,热点事件微博存在缓存热点问题,可以考虑“多副本缓存”,由于原有的缓存架构已经采用了“应用内的缓存,总体上来看,缓存热点问题其实不一定很突出。

-发微博评论

可以用写缓冲限流,MQ 长度限制等。

用户头像

Ping

关注

还未添加个人签名 2020.01.19 加入

还未添加个人简介

评论

发布
暂无评论
极客架构营2期模块5作业