写点什么

架构实战营模块五作业

作者:孙志强
  • 2021 年 11 月 29 日
  • 本文字数:1021 字

    阅读完需:约 3 分钟

微博评论高性能高可用计算架构设计

发布评论

性能估算

条件 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%以下)。


多级负载均衡架构图

多级缓存架构图

高可用架构设计


用户头像

孙志强

关注

还未添加个人签名 2018.11.24 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营模块五作业