回顾

不知不觉,我在”圈内”已经三个月了。

回想第一天接手通知系统时的问题:

  • 推送延迟 5-10 秒
  • 重复推送
  • 半夜打扰用户
  • 没有偏好设置

现在,这些问题都已经解决了。

架构演进
通知系统四个阶段
定时脚本推送
创业 App 先用 PHP 脚本每分钟扫库,把待发送通知推给用户。
业务入口
评论/点赞/关注
入口
业务事件
核心处理
PHP 轮询脚本
服务
crontab 每分钟扫库
notifications 表
存储
200 万条慢查询
投递
极光推送
投递
统一封装 iOS/安卓
验收标准:能发出去,但延迟、重复和慢查询会随着用户增长一起爆发。

这三个月里,通知系统从一个每分钟轮询数据库的 PHP 脚本,长成了一个覆盖推送、站内信、偏好管理、限流和监控的完整平台。每一次升级,都是被一个真实的业务问题推着走的。

演进路径回顾

  1. 定时脚本推送:创业 App 先用 PHP 脚本每分钟扫库,把待发送通知推给用户。能发出去,但延迟、重复和慢查询会随着用户增长一起爆发。
  2. 通知服务化:推送延迟和重复投诉出现,通知从脚本变成异步链路,发送、存储和重试开始分层。
  3. 用户体验治理:用户半夜被打扰、热门内容刷屏,需要偏好和限流。通知系统不只追求送达,还要尊重用户选择和打扰成本。
  4. 多端通知平台:用户有手机、平板、Web,多渠道、多设备状态必须统一。生产通知平台要同时保证触达、状态一致和可运营。

后面的几页会分别总结:最终的系统架构、从实战中提炼的设计原则,以及在每个关键节点上做过的技术取舍。

章节