导语:
体验回归与第三方不稳是前端的主要风险。要在高频发布中保持稳定,需要 RUM 指标体系、包体积与性能预算、第三方隔离/熔断,以及可执行的灰度止损策略。本文给出工程手册与检查表。
1. RUM 指标与分层
- 核心:INP、LCP、CLS、白屏率、JS 错误率、资源失败率。
- 标签:
app_version/route/region/device_type/is_canary。 - 采样:核心路由全量,长尾按比例;第三方请求单独采样。
2. 包体积与性能预算
- 主包/路由包预算,超阈值阻断;构建输出 bundle 报告与依赖差分。
- 性能预算:用历史 P75/P90 设 LCP/INP 初始阈值,逐步收紧。
- 资源策略:分包、懒加载、预加载模板化,避免随意漂移。
3. 第三方隔离与熔断
- 加载:延迟/按路由加载,避免阻塞首屏。
- 隔离:iframe 沙箱、CSP、独立域名,限制全局污染。
- 熔断规则:第三方请求 P95>2s 或错误率>3% → 熔断 10 分钟并降级 UI;记录告警。
- 替代方案:为关键第三方准备降级占位或本地替代。
4. 上线前门禁(SOP)
- 构建:lint、类型、单测、包体积预算。
- 性能:关键路由自动化采集 LCP/INP,对比基线。
- 错误:冒烟检查 console 与核心交互。
- 第三方:新接入/变更必须有隔离与熔断开关。
5. 灰度与止损
- 流量分级:1%→10%→50%→全量,覆盖峰值时段。
- 观察:INP、错误率、白屏率、第三方错误/耗时。
- 止损:任一超阈值自动暂停/回滚,切换到稳定配置(feature flag)。
6. 复盘与证据
- 发布后 24h:对比发布前后 RUM 与错误 Top 路由,记录动作与结论。
- 证据包:变更、指标、停止条件触发、回滚/调优动作、第三方熔断记录。
- 持续改进:根据 Top 异常调整预算与熔断规则。
7. 看板与模板
- 门禁看板:构建/性能/错误/第三方四块,突出“超预算/熔断触发”。
- 报表模板:发布后 24h 质量报表,附动作与结论。
- 长尾兜底:为低端设备/弱网提供轻量模式,避免长尾拖累整体指标。
8. 上线前核查
- 构建:包体积预算、依赖差分、第三方列表确认;lint/类型/单测通过。
- 性能:关键路由 LCP/INP 与基线对比,未超预算。
- 第三方:隔离与熔断开关验证;有替代/降级方案。
- 灰度与止损:流量分级与阈值配置完毕,回滚/feature flag 已验证。
9. 排查快速路径
- 从 RUM 看板定位“路由/设备/版本”异常。
- 查看错误与第三方请求分布,判断是否外部依赖导致。
- 做新旧版本对比快照(INP/LCP/错误率),将结论写入证据包。
10. 报告与资产化
- 发布后 24h 质量报表:构建差分、性能/错误对比、第三方熔断记录、采取的动作。
- 问题资产库:高频问题与对应的降级/熔断/性能优化方案,附负责人与复查时间。
- 门禁与熔断规则按周回顾,逐步收紧长尾指标。
结语:
把 RUM、包体积预算、第三方隔离/熔断和灰度止损做成默认流程,前端发布才能在高频迭代中稳态运行。