写点什么

[架构实战营一期] 模块二作业

用户头像
trymorewang
关注
发布于: 1 小时前
[架构实战营一期] 模块二作业

分析微信朋友圈的高性能复杂度


业务背景和相关数据:

今年一月份在微信公开课 Pro 直播演讲中,张小龙披露微信最新数据:每天有 7.8 亿人进入朋友圈,1.2 亿人发朋友圈,朋友圈有 1 亿条视频内容。

PS:未找到峰值相关数据[大哭],不过粗略计算一下:

假设每人每天看三次朋友圈,点赞评论一次

发朋友圈:1.2 亿/86400 = 1504.62 TPS。

看朋友圈:7.9 亿*3/86400 = 27430.55 QPS

点赞/评论:7.9 亿*1/86400 = 9143.51 QPS


一、复杂度分析

朋友圈复杂度总体分析:

整体业务分为发朋友圈和看朋友圈,看朋友圈又可以点赞和评论。再加上公开的相关数据来结合分析得到结论:质量复杂度高,业务复杂度低。



对于朋友圈相关业务的 qps 不太好预估,每个人每天打开朋友圈的时间和频率都不一样。

二、架构设计

应对思路:


发:


看:


单机房:


双机房:

三、设计理由

在大公司现有的业务下直接才用自顶向下来设计,才用双机房或者三机房。进程模型、网络模型都不需要考虑复用现有即可,缓存模型不涉及,朋友圈相关数据随时可能更新,使用缓存带来的效果可能不理想,不过也许朋友圈的内容可以缓存,评论以及点赞不缓存,据实际观察,朋友圈的文字以及视频发布之后只能删除不能修改。发朋友圈的时候图片和视频需要任务拆分处理。

发布于: 1 小时前阅读数: 7
用户头像

trymorewang

关注

还未添加个人签名 2017.10.18 加入

还未添加个人简介

评论

发布
暂无评论
[架构实战营一期] 模块一作业