架构实战营 模块二 课后作业
1. 微信朋友圈的复杂度分析
微信朋友圈的业务复杂度不高,质量复杂度上对高可用有一定要求,但性能上允许有一定的延时。
截止到 2019 年,微信月活跃用户达到 11.5 亿,且每天平均有超过 7.5 亿微信用户阅读朋友圈的发帖。
(数据参考自:
https://www.chyxx.com/industry/202002/836124.html
https://baijiahao.baidu.com/s?id=1628608452587397474)
主要功能(假设日均 7.5 亿用户使用朋友圈的功能):
发帖:4 万 TPS(假设每日人均发帖次数为 1.5 次,时间集中在 8 小时高峰时段)
浏览:8.5 万 QPS(假设每日人均浏览次数为 5 次,时间集中在 12 小时高峰时段)
评论:3.5 万 TPS(假设每日人均评论次数为 2 次,时间集中在 12 小时高峰时段)
点赞:8.5 万 TPS(假设每日人均点赞次数为 5 次,时间集中在 12 小时高峰时段)
2. 微信朋友圈架构图
3. 设计理由
微信朋友圈的特点是海量的发帖、评论和点赞的数据,且需要持久化,只有新增和删除,无修改动作,浏览量巨大,但在性能上允许有一定的延时。
在计算高性能上,无需特殊考虑,采用负载均衡即可。
在存储高性能上,选择 NoSQL 的数据库加上分片,可以一定程度承担短时间内新增大量数据和浏览的需要。
版权声明: 本文为 InfoQ 作者【Lingjun】的原创文章。
原文链接:【http://xie.infoq.cn/article/93dce349ae8074836618afdcc】。文章转载请联系作者。
评论