架构实战营 - 模块 2- 作业
网上查阅资料显示:
在微信公开课 Pro 直播演讲中,微信创始人张小龙披露微信最新数据:每天有 1.9 亿人打开微信,3.3 亿人进行视频通话,7.8 亿人进入朋友圈,1.2 亿人发朋友圈,朋友圈每天有 1 亿条视频内容,3.6 亿公众号,4 亿用户使用小程序。朋友圈每天有 1 亿条视频内容。每天有 3.6 亿人进入公众号,4 亿用户使用小程序。
资料分析:
与朋友圈相关
1,每天有 7.8 亿人进入朋友圈,
2,每天有 1.2 亿人发朋友圈
3,朋友圈每天有 1 亿条视频内容
朋友圈功能分析:
复杂度分析:
朋友圈应该属于质量复杂度高,业务复杂度低的区间。
使用情况分析:
一天 24 小时,根据资料显示人每天最少要睡四个小时才能够维持体力,故扣除 4 小时必要睡眠时间,那么一天有 20 个小时是醒着的,再扣除 8 小时工作时间,那么剩余时间是 12 小时,可能都有人在使用朋友圈。
朋友圈性能复杂度分析:
1,看朋友圈:7.8 亿/12/3600=18055.55 QPS
2,发朋友圈:1.2 亿/12/3600=2777.77 TPS
3,评论朋友圈:假定每条朋友圈有 5 个人评论,2777.77*5=13888.85 TPS
4,点赞朋友圈:假定每条朋友圈有 10 个人点赞,2777.77*10=27777.7 TPS
整体分析:
看朋友圈分析:
说明:
1,进程模型依据团队技术栈选型。
2,海量连接与海量请求,网络模型选用 Reactor。
3,
3.1,朋友圈里很多图文,视频,且内容发布可能会进行修改,故先选用缓存数据库计算,最后再使用关系型数据库进行存储。
3.2,因为图片,视频较多,故考虑使用单独的图文,视频服务器处理与存储图文,视频。
3.3,朋友圈个人数据模型可以考虑文档型数据模型。
4,因为集群环境下的海量请求,故需要负载均衡。
5,数据量大的情况需要使用数据分片与分库分表。
发朋友圈分析:
与看朋友圈相同。
评论朋友圈分析:
说明:
1,单机计算高性能部分可依赖于发朋友圈和看朋友圈的架构。
2,存储部分可先选用缓存数据库计算,最后使用关系型数据库进行存储。
3,评论和点赞不涉及图片内容和视频内容,故不需要图文服务器。
4,数据量大的情况需要使用数据分片与分库分表。
点赞朋友圈分析:
与评论朋友圈相同。
单机房分析:
评论