| 写扩散 | 发布时写向所有订阅方收件箱:读快;粉丝多的大 V 写放大明显,不活跃用户占用存储 |
|---|---|
| 读扩散 | 读时合并关注列表:写简单;关注多时聚合慢,缓存压力在读侧 |
| 混合 | 按活跃度分流:活跃用户预先推送,非活跃用户读时拉取合并 |
混合时间线的结构示意
混合时间线的结构示意
发布事件 → 判断作者粉丝规模
├─ 粉丝少:写给每个粉丝的收件箱(写扩散,如 500 以内)
└─ 粉丝多:只写作者时间线(读扩散)
读时间线 = 合并(收件箱最新 N 条, 关注的大 V 最新 N 条) → 排序截断搜索与列式库也常做写扩散:ES 把宽文档预拼好、ClickHouse 物化视图预聚合,本质都是用写入成本换读取成本。