模块 2. 架构设计
案例 :微信朋友圈的高性能复杂度分析
1、复杂度分析:

2、架构设计:



3、总体架构设计:

4、设计理由:
架构设计中关键是某人发布一条朋友圈消息后,需要实时同步到与他相关的所有朋友的朋友圈消息列表中,这里的 TPS 会比较高,需要通过消息队列技术,进行流量的控制处理,比如 kafka,最终写入到关系数据库。
当每个人查看自己的朋友圈消息时,每次查看的消息会存储到本机上,下次刷新获取自己的朋友圈消息列表中最新的部分即可。
架构设计中关键是某人发布一条朋友圈消息后,需要实时同步到与他相关的所有朋友的朋友圈消息列表中,这里的 TPS 会比较高,需要通过消息队列技术,进行流量的控制处理,比如 kafka,最终写入到关系数据库。
当每个人查看自己的朋友圈消息时,每次查看的消息会存储到本机上,下次刷新获取自己的朋友圈消息列表中最新的部分即可。
评论