这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
回顾
不知不觉,我在”圈内”已经三个月了。
回想第一天接手通知系统时的问题:
- 推送延迟 5-10 秒
- 重复推送
- 半夜打扰用户
- 没有偏好设置
现在,这些问题都已经解决了。
架构演进
通知系统四个阶段
定时脚本推送
创业 App 先用 PHP 脚本每分钟扫库,把待发送通知推给用户。
业务入口
评论/点赞/关注
入口业务事件
核心处理
PHP 轮询脚本
服务crontab 每分钟扫库
notifications 表
存储200 万条慢查询
投递
极光推送
投递统一封装 iOS/安卓
验收标准:能发出去,但延迟、重复和慢查询会随着用户增长一起爆发。
这三个月里,通知系统从一个每分钟轮询数据库的 PHP 脚本,长成了一个覆盖推送、站内信、偏好管理、限流和监控的完整平台。每一次升级,都是被一个真实的业务问题推着走的。
演进路径回顾
- 定时脚本推送:创业 App 先用 PHP 脚本每分钟扫库,把待发送通知推给用户。能发出去,但延迟、重复和慢查询会随着用户增长一起爆发。
- 通知服务化:推送延迟和重复投诉出现,通知从脚本变成异步链路,发送、存储和重试开始分层。
- 用户体验治理:用户半夜被打扰、热门内容刷屏,需要偏好和限流。通知系统不只追求送达,还要尊重用户选择和打扰成本。
- 多端通知平台:用户有手机、平板、Web,多渠道、多设备状态必须统一。生产通知平台要同时保证触达、状态一致和可运营。
后面的几页会分别总结:最终的系统架构、从实战中提炼的设计原则,以及在每个关键节点上做过的技术取舍。
