架构实战营模块五作业
微博评论高性能高可用计算架构设计
发布评论
性能估算
条件 1:基于课程中看微博的假设,每日看微博的量是 250 亿,看微博的 qps 为 1000K/s。
条件 2:假设平均看 100 次微博会发布一次评论。
条件 3:评论微博和看微博热点时间段均相同。
结论:基于上面的 3 个条件,可以推断出评论微博每日的量是 2.5 亿,评论微博的 tps 为 10K/s。
高性能架构设计
业务特性分析
1.时效性要求不高,发布后不需要立马被别人看到,可以使用写缓冲。
2.写操作,不能用缓存,可以用多级负载均衡。
架构分析
用户量过亿,应该使用多级负载均衡,覆盖 DNS->F5->nginx->网关多级负载
架构设计
1.负载均衡算法选择
无状态,任意一台服务器处理请求都可以,算法使用最简单的轮询和随机均可。
2.业务服务器估算
处理流程:内容审核(RPC, 耗时假设为 100ms) -> 数据写入存储(耗时约为 50ms) -> 数据写入缓存(耗时约为 2ms)
单线程每秒大约能处理 6 个请求,服务器线程数假设设置为 100,每秒约能处理 600tps。实际数值需要通过压测获得,线程数也需要通过压测适当调整,这里我们假设单台是 100 个线程,能处理 600tps。
10Ktps 需要的服务器数量约为 25 台(4 核 8G,冗余 50%的服务器,同时需要配置弹性伸缩,单台服务器的 cpu 压力建议在 40%以下)。
多级负载均衡架构图
略
高可用架构设计
看评论
性能估算
条件 1:假设发布评论的人有 50%会看一下评论,确认一下是否发布成功,这一条件下看评论的 qps 为 5K/s。
条件 2:假设看微博的人有百分之 80%会看评论,这一条件下看评论的 qps 为 800K/s。
结论:基于上面的 3 个条件,可以推断出看微博评论每日的量是 200 亿,qps 为 800K/s。
高性能架构设计
业务特性分析
读操作,只能删除不能修改,非常适合缓存架构,qps 较高,也需要负载均衡架构。
架构分析
1.用户量过亿,应该使用多级负载均衡,覆盖 DNS->F5->nginx->网关多级负载。
2.qps 较高,使用多级缓存架构。
架构设计
1.负载均衡算法选择
无状态,任意一台服务器处理请求都可以,算法使用最简单的轮询和随机均可。
2.业务服务器估算
假设 CDN 缓存命中率 90%,则穿透到下游的 qps 为 80Kqps, 本地缓存命中率 70%,穿透到分布式缓存的 qps 约为 24Kqps。读取一次分布式缓存通常在 10ms 内,读取本地缓存时间通常<1ms,单线程 1s 大约能处理 100 个请求,假设服务线程数为 100,单台服务器能处理 10K 个请求,考虑到服务器不要压力太大,单台服务器处理 3000qps,80Kqps 约需要 40 台服务器(4 核 8G,冗余 50%服务器,同时需要配置弹性伸缩,单台服务器的 cpu 压力建议在 40%以下)。
多级负载均衡架构图
略
多级缓存架构图
略
评论