写点什么

模块二作业

用户头像
panxiaochun
关注
发布于: 刚刚

复杂度分析

微信朋友圈主要分如下三个模块:发朋友圈、浏览朋友圈、点赞评论。查找今年微信朋友圈的用户使用量相关资料。

张小龙在演讲中表示,每天有 10.9 亿用户打开微信,3.3 亿用户进行了视频通话;有 7.8 亿用户进入朋友圈,1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条;有 3.6 亿用户读公众号文章,4 亿用户使用小程序。《微信用户量惊人!每天有10.9亿人打开微信,7.8亿人进入朋友圈》

可以发现朋友圈有亿级的用户规模,业务复杂度低,但质量复杂度高。


架构设计


发朋友圈


发朋友圈数据同时写到数据库服务器集群和 Redis 集群,Redis 对最近的朋友圈数据进行缓存。


浏览朋友圈

浏览朋友圈先读 Redis 缓存的数据,如果缓存没有,再请求数据库集群中的数据。


点赞评论

点赞评论直接往 Redis 写,后异步往数据库集群进行更新。


设计理由

  1. 朋友圈属于读多写少的场景,使用 Redis 缓存减轻数据库压力。

  2. 根据用户 ID 进行数据分库。

  3. 分区域多机房部署,将朋友圈数据缓存到最近机房的 Redis 集群。

  4. 图片及视频通过对象存储,通过 CDN 加速。


用户头像

panxiaochun

关注

还未添加个人签名 2019.07.13 加入

还未添加个人简介

评论

发布
暂无评论
模块二作业