Feed流
更多内容移步个人blog : 来,教你设计朋友圈
什么是
朋友圈,微博,b 站抖音的推送,这些常用 app 的使用场景有一个共同的名词:Feed 流。
Feed 流可以理解为一个数据流,将 “X个发布者的信息” 通过 “关注关系” 传送给 “Y个接收者”,也就是将他的动态传给关注了他的你。
听上去似乎挺简单,不就是 A 发个动态,我关注了他,上线时把消息推给我嘛。嗯,有道理,且往下看。
设计
建表
首先,以微信朋友圈为例,请思考一下先仅考虑表,要怎么设计?
我们先抽象为最基础的三种表:用户表、消息表和关系表,用户表无需多说,关系表负责维护关注关系,如下即可:
ID | user_id | follow_user_id | date | other… |
---|---|---|---|---|
用户ID | 粉丝用户ID | 关注时间 | 其他 |
现在还剩消息表了:
ID | message_id | content | date | user_id |
---|