架构训练营模块五作业
设计微博系统中”微博评论“的高性能高可用计算架构
【作业要求】 基于模块 5 第 6 课的微博实战案例,分析“微博评论”这个核心场景的业务特性,然后设计其高性能高可用计算架构,包括但不限于如下内容:
1)计算性能预估(不需要考虑存储性能)
2)非热点事件时的高性能计算架构,需要考虑是否要拆分独立的服务
3)热点事件时的高可用计算架构
【提示】 分析方法对照“看微博”和“发微博”的案例。
发评论的TPS峰值计算:25亿 x 60% / (4x3600) = 100K/s
看评论的QPS峰值计算:125亿 x 60% / (4x3600) = 500K/s

服务端采用消息队列写缓冲的方式:

【看评论】

看评论的多级缓存架构:

由于用户体量较大,为了便于业务运维(例如故障服务降级、服务隔离等),将发评论和看评论拆分不同的服务。

评论业务的负载均衡整体架构:

评论业务的多级缓存整体架构:

【热点事件的高可用计算架构】
发评论
热点事件的微博评论相比微博自身时效性要求可以低一些,因此可以考虑对热点事件微博的评论进行限流,最好是采用漏桶算法。原有高性能架构设计中采用了消息队列写缓冲的方式,同时也达到了限流的目的。

看评论
热点事件评论主要是缓存热点问题,可以考虑多副本缓存,原有缓存架构已经采用应用内缓存,因此已经实现了多副本缓存。
