第四篇 避坑与最佳实践
带新人跑长途的老司机,车里往往有一个不起眼的本子,记的全是自己这些年刮过蹭过、差点翻车的地方:哪个路口视野盲区大,哪段路雨后容易积水,哪种侥幸心理不能有。这一篇,就是我的事故记录本。
前三篇聊的是 Firebase 各个产品的用法和心得,属于把车开起来;这一篇要聊的是怎么不开进沟里。里面收录的坑,没有一条是从文档里抄来的,每一条背后都有真实的深夜报警、真实的账单、真实的返工。写出来只有一个目的:让这些学费,我交过就够了。
本篇一共四节,节奏是从惊险到从容:
- 4.1 安全避坑:三个最经典的事故现场——配置当私密、规则裸奔、私钥进仓库,外加数据导出的隐性风险。
- 4.2 性能避坑:查询怎么设计才不失控,索引怎么建才不泛滥,监听怎么用才不拖垮客户端。
- 4.3 工程化心得:多环境怎么隔离,CI 部署怎么管凭据和改动面,模拟器怎么把测试成本打到接近零。
- 4.4 迁移心得:什么时候该认真考虑离开 Firebase,以及决定走了之后,怎么平滑地走、不伤筋动骨。
赶时间的话,按下面这张速查表直接翻对应小节:
| 坑位 | 严重度 | 翻哪节 |
|---|---|---|
| 把 Firebase 配置当私密信息 | ★★★★ | 4.1 |
| 安全规则开发期全放开、上线忘收 | ★★★★★ | 4.1 |
| Admin SDK 私钥进了前端或公开仓库 | ★★★★★ | 4.1 |
| 读规则过宽被整库爬走 | ★★★★ | 4.1 |
| 整表拉回客户端再过滤 | ★★★ | 4.2 |
| 复合索引无节制膨胀 | ★★ | 4.2 |
| 一个大监听常驻全应用 | ★★★ | 4.2 |
| 热点文档高并发写 | ★★★★ | 4.2 |
| dev 和 prod 混用一套项目 | ★★★★ | 4.3 |
| CI 凭据管理混乱、全量部署 | ★★★★ | 4.3 |
| 规则变更没有单测兜底 | ★★ | 4.3 |
| 成本与合规压力下仓促迁移 | ★★★★ | 4.4 |
| 账号迁移方案没提前想 | ★★★★ | 4.4 |
最后说一句心态:避坑经验不是拿来制造焦虑的,恰恰相反——知道坑在哪里,脚下才敢踩油门。愿这本事故记录本,能帮你把别人的教训变成自己的常识。
