模块 5 作业
微博评论的高性能和高可用架构设计
高性能架构设计(非热点事件)
基础数据:
2.5 亿人,每天评论 10 条,集中在上午 8-9,中午 12-1,晚上:8-10,那么:
TPS = 2.5 亿*10 *60%/(4 小时*3600)= 100K/s
【业务特性分析】
微博评论可以用写缓中
【架构分析】
用户量过亿,应该要用多级负载均衡架构,覆盖 DNS->F5->nginx->网关->消息队列
【架构设计】
1、负载均衡算法
需要针对被评论的数据进行 hash 算法,保证同一条微博的评论能够按顺序消费
2、业务服务器数量估算:
采用写缓冲,消息队列单机 5 万 TPS,集群部署 5 台
写速度,单机 500 TPS,耗时 2 秒完成,需要机器数量:100 台+20 台=120 台
架构图:
高可用架构设计(热点事件)
【分析】
某些明星偶尔出现热点事件,评论数据一天达到 500 万,可能集中在 1 小时,那么通过 hash 算法都会落在同一台机器上,并发量比较大,考虑采用限流方案
架构图:
评论