第九期 - 模块二
微信朋友圈的高性能复杂度分析---微信朋友圈核心功能包括动态(发布、浏览)、评论、点赞三个核心功能。
业务指标
目前,每天有 10.9 亿人打开微信,3.3 亿用户进行了视频通话;有 3.6 亿用户读公众号文章,4 亿用户使用小程序;有 7.8 亿人进入朋友圈,1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条。
张小龙表示,大家会觉得微信做东西特别保守,但他不认为这是保守,而是很多东西不应该做。比如,以前为什么不在名片关联精选照片或者内容,以解决朋友圈设置三天可见的问题。数据来源
高性能复杂度分析
微信朋友圈-整体架构
朋友圈架构-单机房
设计理由
多机房部署,考虑到微信朋友圈日访问量过亿,qps 高峰可以到十万级,因此可以对服务做多机房部署,机房访问可以按地域和网络时延优化访问途径,机房内可以通过集群部署做负载均衡和容灾。
动态服务存储结构复杂因此采用 DB,且可以配合 S3 文件服务器做结构化存储,评论点赞结构简单且无需等待动态全部加载直接返回,因此用 redis 集群存储。
考虑动态服务和评论点赞的访问量读写频率都可能不同,且业务结构差异大,因此拆分服务,在扩缩容上和业务迭代上可以做到更灵活,满足了安全、成本的需求。
评论