架构实战模块二作业
微信朋友圈复杂度分析
微信朋友圈架构设计
微信朋友圈架构设计理由
微服务架构
接入层为各个微信终端提供各类型业务的接入服务,主要是长连接。
逻辑层实现朋友圈的主要业务逻辑。
存储代理层主要负责一些关键数据的维护操作,比如用户在账号里面的动作操作和事故信息。
存储层(KV 存储),不负责业务逻辑的,只是单纯的 Key-Value 映射,以及负载均衡和容错。
KV 存储(三机一组,三机分布在一个数据中心的三个独立园区)
朋友圈数据 4 个核心的表:
1.发布,记录了来自所有用户所有的 feed,一个用户发布了几张图片、每张图片的 URL 是什么,在 CDN 里的 URL 是什么,它有哪些元属性,谁可以看,谁不可以看等等。
2.相册,每个用户独立的,记录了该用户所发布的所有内容。
3.评论,针对某个具体发布的朋友评论和点赞操作。
4.时间线,就是一个用户所有朋友的发布内容。
数据存储可以支持水平扩展。
评论