Neo's Blog

不抽象就无法深入思考
不还原就看不到本来面目!

0%

常见系统设计题系列-Feed系统

Feed系统的本质就是一个相对更加简单的IM系统。

推模式

  • 写入延迟问题:并行写入,对存储到写入压力大,更牛B的写入存储引擎:LevelDB、TokuDb等
  • 存储量特别大:压缩率更高的存储引擎 + 定期清理数据
  • 微博分组,更是扩大了写入量
  • 取消关注、删除微博等操作对该模式影响也很大(可以通过读时过滤来解决)

问题重重,feed推模式,更适合粉丝有限的场景,例如朋友圈

拉模式

用户发件箱,来缓存UP最近5天发布的微博

缓存节点的带宽成本比较高,可以通过多缓存副本来解决。

推拉结合

  1. 按照用户是否活跃在线与不在线
  2. 按照UP的粉丝数来划分
  3. 区分关注的普通人与大V
你的支持是我坚持的最大动力!