架构训练营第 10 期模块 5 作业
计算性能预估
微博日活用户 2.24 亿,假设每人每天平均评论微博 3-5 条, 则每天的评论大概有 10 亿条。
大部分的评论都集中在早中晚的 4 个小时的时间段内。
10 亿*60%/(4*3600) = 40K/S TPS
非热点事件的高性能计算架构
老师提到过,发微博是一个写操作,用户关注即时反馈,所以不能用缓存。而相比较评论微博是一个用户不太关注及时反馈的动作,可以用缓存操作。 所以我们可以采用负载均衡+多级缓存来设计高性能计算架构。
负载均衡算法选择“轮询”或者“随机”的算法
服务器数据的估算。 如果一台服务器可以处理 500 请求的话, 40K 的 TPS 需要 80 台服务器,考虑冗余最终选用 100 台服务器.
多级缓存可以采用四级缓存, 包括 app/浏览器缓存, WEB 容器缓存, 进程内缓存和分布式缓存, 不采用 CDN 缓存。
由于访问量较大,为了便于业务运维,需要将发微博评论和看微博评论拆分为不同的服务。
热点事件的高可用架构
热点事件的微博评论相对优先级会低一些,采用漏桶算法来限流。
评论