040022-week5-design
作业
设计微博系统中”微博评论“的高性能高可用计算架构。
【作业要求】
基于模块 5 第 6 课的微博实战案例,分析“微博评论”这个核心场景的业务特性,然后设计其
高性能高可用计算架构,包括但不限于如下内容:
1. 计算性能预估(不需要考虑存储性能);
2. 非热点事件时的高性能计算架构,需要考虑是否要拆分独立的服务;
3. 热点事件时的高可用计算架构。
【提示】
1. 分析方法对照“看微博”和“发微博”的案例。
业务特性分析:
考虑这个热点微博是无法预估具体发生时间的,那么按照日活 2.5 亿来算,每个人评论一次这条微博。
那么按照热点微博发布后的 2 小时内评论数量占比 50%来计算;
2.5 亿*50%/(2*3600) = 17.4k/s
对于这种热点微博评论,用户的评论会在刷新后被之后的大量评论淹没,用户无法准确找到自己的评论,故可以接受微小的丢失,且实时性要求不高。
但为了提高用户体验,可采用先显示后发送的方式,即用户评论后页面立刻显示该条评论,然后再调用后台发送服务器保存数据。
架构分析:
1.用户量过亿,采用多级负载均衡架构;
2.请求量达到 2.5 亿,应使用多级缓存架构,尤其是 CDN 缓存。
架构设计:
1.负载均衡算法采用轮询或者随机算法都可;
2.业务服务器的预估:
采用消息队列的方式,假设消息队列能够承载 50%的数据量,那么 50%的数据量就直接到服务器,即请求的 QPS=17.4K*50%=8.8k/s,
如果每台的承载量按照 500/s 来计算的话,需要 18 台服务器,按照 20%的保留量来计算的话那就是 22 台服务器。
微博评论的多级负载均衡架构
版权声明: 本文为 InfoQ 作者【InfoQ_70156470130f】的原创文章。
原文链接:【http://xie.infoq.cn/article/97f3c21574cf7f848a5665bdb】。文章转载请联系作者。
评论