架构实战营 - 模块五作业
设计微博系统中”微博评论“的高性能高可用计算架构。
一. 计算性能预估
【业务特性分析】
假设 2.5 亿用户有 30%的人去评论微博,平均发布 10 条评论。发布评论一般是在当天白天。则
这 8 个小时的平均评论微博的 TPS 计算如下:
25 亿*30%/(8*3600)≈26k/s
【业务特性分析】
评论微博是写操作,因此不能用缓存,可以用负载均衡。
【架构分析】
用户量过亿,应该要用多级负载均衡架构,覆盖 DNS -> F5 -> Nginx -> 网关的多级负载均衡。
【架构设计】
1. 负载均衡算法选择
发评论的时候依赖登录状态,登录状态一般都是保存在分布式缓存中的,因此发评论的时候,将请求发送给任意服务器都可以,这 里选择“轮询”或者“随机”算法。
2. 业务服务器数量估算
因评论内容一般是文本且比较少,因此按照一个服务每秒处理 800 来算,完成 26k/s,需要 33 台服务器,加上一定的预留量,总计 40 台服务器。
二. 非热点事件时的高性能计算架构
三、热点事件时的高可用计算架构
核心架构设计思想:既然无法预估,那就做好预防!
【架构设计分析】
对于请求量大,可以考虑对发评论限流,使用漏桶算法限流。
评论