写点什么

架构实战营 模块五:课后作业

用户头像
👈
关注
发布于: 2021 年 06 月 06 日

设计微博系统中”微博评论“的高性能高可用计算架构

【作业要求】

基于模块 5 第 6 课的微博实战案例,分析“微博评论”这个核心场景的业务特性,然后设计其高性能高可用计算架构,包括但不限于如下内容:

1)计算性能预估(不需要考虑存储性能)

2)非热点事件时的高性能计算架构,需要考虑是否要拆分独立的服务

3)热点事件时的高可用计算架构



1.性能估算:

由于绝大部分微博用户看微博的对象是大 V 和明星,因此我们假设平均一条微博观看人数有 100 次,其中有 25%的用户会作出评论,则评论微博的次数为:

2.5 亿 * 100 * 25% = 62.5 亿.

大部分人看微博的时间段和评论微博的时间段基本重合,因此评论微博的平均 QPS 计算如下:

250 亿 * 60% * 25% / (4*3600) = 250K/s


2.高性能计算架构

  • 业务特性分析:评论微博属于写操作,且不需要考虑实时性,因此可以考虑缓存。

  • 架构分析:用户量过亿,应该要用多级负载均衡架构,覆盖 DNS->F5->Nginx->网关的多级负载均衡。

  • 架构设计:

1)负载均衡算法选择:评论微博依赖登录状态,登录状态一般都是保存在分布式缓存中的,因此发微博的时候,将请求发送给任意服务器都可以,选择“轮询”或者“随机”算法。

2)业务服务器数量估算:与发微博类似,完成 10k/s * 25 = 250/s 的 tps,需要 250 台服务器。



3.热点事件时的高可用计算架构

  • 关键设计 1:在写入微博评论的服务集群中,采用限流、排队措施,保证磁盘写入业务流程高可用。

  • 关键设计 2:拉取用户评论,采用降级、熔断措施,避免造成缓存穿透等情况发生。

用户头像

👈

关注

还未添加个人签名 2019.04.04 加入

还未添加个人简介

评论

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