微博评论高性能高可用计算架构设计分析
1.微博业务场景计算性能估算
1.1【用户量】
根据微博 2020.9 月月活 5.11 亿,日活 2.24 亿(参考《微博 2020 用户发展报告》)
1.2 用户行为建模和性能预估
评论微博和看微博的情况差不多,因此我们假设一条微博平均有 100 人评论,则评论微博的次数为:
2.5 亿*100=250 亿
大部分人评论微博的时间段和发微博的时间段基本重合,因此评论微博的 TPS 计算如下:
250 亿*60%/(4*3600)=1000K/s
2.微博高性能计算架构设计
为解决热点并发问题,需要做任务分解,将发微博和看微博拆分不同服务。且主要是转发微博和看微博高请求。
2.1 发微博
发微博是一个典型的写操作,因此不能用缓存,可以用负载均衡。
用户量过亿,应该要用多级负载均衡架构,覆盖 DNS -> F5 -> Nginx -> 网关的多级负载均衡。
2.2 转发微博
转发的微博重要性和影响力不如原微博,可以考虑对“转发微博”限流,由于转发能带来更好的传播,因此尽量少丢弃请求,考虑用“漏桶算法”。
2. 3 看微博
很明显,热点事件微博存在缓存热点问题,可以考虑“多副本缓存”,由于原有的缓存架构已经采用了“应用内的缓存。
评论