架构训练营模块 2 作业 - 江哲
1 朋友圈高性能复杂度分析
1.1 背景
在微信公开课 Pro 直播演讲中,微信创始人张小龙披露微信最新数据:每天有 10.9 亿人打开微信,3.3 亿人进行视频通话,7.8 亿人进入朋友圈,1.2 亿人发朋友圈。
1.2 假设
1.2 亿发动态在高峰期 6 小时分布相对平均,请求峰值为平均值的 3 倍,架构设计峰值保证 3 倍峰值请求量。
1.3TPS 计算方法
1.2 亿/6 小时/3600 秒*3*3 约等于 5W TPS
2 朋友圈发动态架构图
高性能需求单机计算、存储不符合要求
个人发动态需要使用好友关系缓存,因此任务分配器选择 hash
发动态存储数据量大,要分库分表
发动态后要异步更新好友动态关系缓存,更新 redis 集群
3 朋友圈浏览架构图
高性能需求单机计算、存储不符合要求
浏览动态需要使用自己的好友动态关系缓存,因此任务分配器选择 hash
4 朋友圈评论点赞架构图
高性能需求单机计算、存储不符合要求
点赞评论需要使用好友关系缓存,因此任务分配器选择 hash
点赞评论储数据量大,要分库分表
点赞评论后要异步刷新好友动态更新计数器缓存,更新 redis 集群
评论