目标是在页面加载前捕捉问题——在还有余量吸收的时候发现性能下降。这意味着观察领先指标、定义带有错误预算的 SLO,以及主动探测系统而不是等待失败。
SLO 和错误预算
将可靠性转化为一个数字(例如 99.9% 的请求成功)。剩余的 0.1% 是您的。追踪让您在消耗预算太快时发出警报——远在您实际违反 SLO 和用户注意到之前。
SLO 99.9% → 0.1% error budget/month (~43 min of downtime)
burn rate rising fast → you'll exhaust it in 2 days → alert NOW, while it's fixable
SYNTHETIC MONITORING scripted checks hit critical paths on a schedule
(login, checkout) → fails even at 3am with zero real traffic
HEALTH CHECKS /healthz endpoints + dependency checks → load balancer
pulls bad instances before users hit them
RUM (real-user mon.) measure latency/errors from actual browsers/devices →
catches issues only some users/regions see
综合监测的强大之处在于它不等待用户——它持续对系统进行测试,因此一个损坏的结账流程会在凌晨 3 点被发现,而不是当早间高峰期用户投诉时。
最早的迹象出现在资源中,而不是用户面向的错误中。对趋势进行警报,而不仅仅是静态线。
LEADING INDICATORS saturation (CPU/mem climbing), queue depth growing,
connection-pool nearing limit, latency CREEPING up
ANOMALY DETECTION flag deviation from the normal baseline / seasonality
TREND ALERTS "disk will fill in 4h at this rate" → act before it's full
缓慢上升的 p99 或不断增长的队列是一个警告信号:通过对蔓延采取行动,您可以防止蔓延本来会导致的故障。
被动监测意味着用户是您的告警系统——等到他们投诉时,事件已经在线,您的错误预算已经耗尽。主动检测(SLO 消耗速率、综合监测、健康检查、RUM、领先指标、趋势/异常警报)争取了提前时间:您在饱和队列或蔓延延迟变成凌晨 2 点的告页和愤怒的客户之前修复它。这个提前时间是静悄悄修复和一次中断之间的区别。
一个包含详细解答的 IT 面试题库——从初级到高级。
捐赠