这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
高可用与性能
高可用设计
- 服务降级:推送服务不可用时,只发站内信(用户打开 App 仍能看到)。
- 消息重试:推送失败自动重试 3 次。
- 监控告警:延迟、成功率、投诉监控。
降级的分级
推送可用:推送 + 站内信
推送故障:只站内信(降级,不丢)
都故障:消息入队,恢复后补发
降级的原则:核心体验(站内信)永不丢失,锦上添花(推送)尽力而为。
性能优化
- 批量操作:批量创建站内信,减少 IO。
- 异步处理:Celery 异步发送推送,不阻塞主流程。
- 连接池:HTTP 连接复用,避免频繁建连。
性能的瓶颈
通知系统的性能瓶颈通常不在业务逻辑,而在:
- 推送服务的吞吐(外部依赖)。
- 数据库写入(站内信批量创建)。
- 队列消费速率。
优化的顺序:先监控定位瓶颈,再针对性优化,而不是盲目加缓存。
一句话
高可用 = 降级(保站内信)+ 重试(不丢消息)+ 监控(发现问题);性能 = 异步 + 批量 + 连接池。先看清瓶颈,再谈优化。
发现内容有问题?
告诉我们哪里需要改进。
