【架构训练营 - 模块二】
1.业务描述
2021-01-19,张小龙在演讲中表示,每天有 10.9 亿用户打开微信,3.3 亿用户进行了视频通话;有 7.8 亿用户进入朋友圈,1.2 亿用户发表朋友圈,其中照片 6.7 亿张,短视频 1 亿条。
朋友圈峰值预估
2.复杂度分析
高性能:基于每天 10.9 亿用户打开微信和 1.2 发表朋友圈,并发量巨大。为了用户的体验,高性能是需要关注的。
高可用:社交类信息,可以容忍数据暂时不可用
可拓展:朋友圈业务逻辑简单,暂时可以不考虑可拓展性
成本和安全:可暂时不考虑
3.功能模块-复杂度框架
3.1 发布朋友圈动态
发布朋友圈
3.2 查看朋友圈动态
查看朋友圈
3.3 点赞
点赞
3.4 其他
广告功能可以参照查看朋友圈动态的复杂度框架;评论功能可以参照点赞的复杂度框架
4.朋友圈:整体架构图
4.1 整体架构图
朋友圈整体架构图
4.2 设计思考
在高并发情况下,采用 Nginx 进行负载均衡,防止所有流量打到同一个服务器,导致服务器宕机
相比于 MySQL(3K/s),Redis(10W/s)可以更好地满足在高并发情况下写数据问题
MySQL 数据库采用主从架构,并根据业务逻辑进行分库分表,可以有效地提高查询效率
由于在朋友圈这个业务中,图片和视频是主要的信息载体。图片和视频的上传/下载,与朋友圈本身的业务逻辑无多大关联,所以进行了微服务拆分。
版权声明: 本文为 InfoQ 作者【默光】的原创文章。
原文链接:【http://xie.infoq.cn/article/d43c738eb3185548e9a352073】。文章转载请联系作者。
评论