架构实战营 - 模块 2- 作业
一、复杂度整体分析
从整体上来看,微信朋友圈的业务复杂度不高。按功能来划分,包括写朋友圈、看朋友圈、点赞和评论几部分。从质量复杂度来看,先说流量,全年流量应该不会像微信红包一样,出现非常明显的波峰和波谷,但应该也会出现白天流量大于夜间流量,平时流量大于节假日流量的特点。那么从容忍度上来看,朋友圈显然需要系统更稳定,对于系统出现故障造成朋友圈不可用的容忍度更低,更需要系统进行高可用方面的设计。综上所述,质量复杂度要求高。
二、架构设计方案
高可用复杂度分析:
从容忍度顺序上来看,我认为,容忍度由小到大依次为:看朋友圈>点赞+评论>写朋友圈。也就是说,用户对于看朋友圈的容忍度最低,需要优先考虑。
容忍度的应对思路:
计算高可用使用任务分配足以,对于存储高可用,首先在数据复制方面,不需要像金融类业务做到强一致性,所以使用命令复制或文件复制就可以了。在状态决策方面,使用独裁式即可。
架构图:
评论