模块五作业
一、微博评论-高性能计算架构分析
1、业务特性分析
评论主要集中在热点事件或大 V、明星发布的微博上,大 V 或明星发布 1 条微博可能会有成千上万条评论;
2、性能估算
微博日活用户 2.5 亿,假设每天每人评论 1 条,评论微博的时间段和看微博时间段一致,60%都集中在 4 小时内,则预计 2.5 亿 * 0.6 / (4 * 3600) = 10000/s;
3、架构分析
用户量过亿,需要考虑使用多机房架构,用 4 级负载均衡来做任务分配,DNS > F5/LVS > nginx > 网关负载;
4、架构设计
4.1、负载均衡算法选择;
评论和发微博场景类似,可直接用轮询、随机算法;
4.2、业务服务器数量估算;
假设每台服务每秒处理 500 个请求,则总共需要 10000 / 500 = 20 台机器,预留 30%的冗余,最终需要 26 台机器;
服务拆分意见:建议微博评论和微博发布合并成一个服务,两者都是写操作,且性能要求为同一量级,评论也都是基于微博内容产生的,两者存储上也存在关联关系;
二、微博评论-热点事件高可用架构分析
架构分析:
评论微博的重要性不高,评论信息发不出去或发出去未及时显示也不会造成实际损失,但为了尽可能的保证用户的体验友好性,在系统处理能力范围内的评论请求都需要能够正常处理、评论成功的都应该要正常显示。
综上,针对评论使用限流策略,超过系统处理能力的直接拒绝评论,考虑使用“令牌桶”算法;
架构设计:
评论