模块二作业
【作业要求】
1.对照模块 2 讲述的复杂度分析方法,分析微信朋友圈的复杂度
2.针对各个复杂度,画出你的架构涉及方案(无需做备选方案,只需要最终的方案即可)。
3.给出你的架构方案中关键的设计理由
4.3~5 页 PPT 即可,涵盖复杂度分析,架构设计、设计理由。
微信朋友圈的复杂度
从业务复杂度来说,用户发文字、图片、视频,发完了查看朋友圈,评论、点赞,业务关系不复杂。
从质量复杂度来说,要求对于支付、微信消息等模块并没有那么高,查了一下百度,一个最新消息是每天大概有 7.8 亿进入朋友圈,有 1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条。
按 TPS 来算的话,
计算公式 : TPS = 总请求数的 80% / (总时间 20%)
TPS=1.2 亿*0.8/86400=11110
然后进入的峰值
TPS=7.8 亿*0.8/86400=7222.22
容忍度:相对比其他钱包、微信无法使用的情况容忍度很高,一夜无法修复也并没有太大的问题,所以我认为使用单机模式就能够使用,当然如果微信本身已经使用了高可用高存储的方案的话,微信朋友圈可以直接使用里面的服务器进行任务分配。
按老师讲的 LSM 我觉得也是可以用的,但我对 LSM 并不了解如何实践进去,所以按照 baidu 结果稍微画了个理解的模型,后期理解了再来补充说明吧。
评论