朋友圈架构设计
朋友圈复杂度
朋友圈的背景数据
2021 年 1 月 19 日,微信创始人张小龙披露了微信的有关朋友圈的数据:
每天有 1.9 亿人打开微信,7.8 亿人进入朋友圈
每天有 1.2 亿人发朋友圈
朋友圈每天有 1 亿条的视频内容
将朋友圈从业务复杂度和质量复杂度两个方向分析:
业务复杂度: 主要是发朋友圈(每天有 1.2 亿人)、看朋友圈(每天有 7.8 亿人进入朋友圈)、评论朋友圈(每天有 7.8 亿人进入朋友圈,假设有 3 成的人每天在朋友圈进行点赞)
质量复杂度: 日活 7.8 亿,拥有大量的活跃的用户,对高性能和高可用性有极高的要求
朋友圈的设计思路
发送朋友圈性能复杂度设计
发送朋友圈主要是写入数据频繁,存储需要使用 LSM 模型
暂存数据可以使用 redis 做缓存
写入数据需要大量并发执行,使用多线程模式
看朋友圈性能复杂度设计
查看朋友圈读多写少,且需要并发执行,使用多线程并发执行,使用 B+树存储
任务分配采用 Nignx 轮训算法即可
评论