上午 10 点 18 分,入口 Nginx 的 499 占比从不足 0.1% 升到了 8.6%。应用 CPU 只有 42%,内存没有明显上涨,6 个 Pod 也全部处于 Running 状态。有人看到 499 后马上判断:“这是客户端主动断开,和服务端没关系。”但客服反馈,用户打开订单查询页面...
晚上 10 点,监控突然报警:接口 5xx 错误率持续升高。浏览器访问域名,HTTPS 证书正常,页面却返回 502 Bad Gateway。后端服务明还活着,在宿主机上执行 curl http://127.0.0.1:8080 也能正常响应。有人怀疑证书续期失败,有人准备重启代理,还有人开始...
月度复盘会上,监控大盘显示系统可用性已经达到 99.99%。业务负责人却问了三个问题:“这个数字怎么算出来的?数据从哪里来?用户真的只受影响了 4 分钟吗?”会议室一下安静了。有人用 Pod 存活率计算,有人统计工单里的故障时长,还有人直接拿网关 5xx 比例当可用性。同一个系统,三种算法分别...
不少选型表会把 REST 写成 HTTP/1.1、JSON、不支持流式传输,再把 gRPC 写成 HTTP/2、Protobuf、天然高性能。这个对比方便记忆,但不够严谨。REST 是一种架构风格,通常使用 HTTP 和 JSON,但并不限定只能使用 HTTP/1.1,也不强制 JSON。RE...
凌晨两点,数据库主节点突然掉线,应用连接池开始疯狂报错,监控群里一排红色告警。如果用的是传统 MySQL 主从架构,这时候通常要判断从库延迟、确认数据位点、提升从库、修改连接地址。动作看起来不多,真到了生产现场,手一抖就可能把“数据库故障”升级成“数据故障”。我碰到过类似情况,主库已经不可用,...
热爱技术的云计算运维工程师,Python全栈工程师,分享开发经验与生活感悟。
欢迎关注我的微信公众号@运维躬行录,领取海量学习资料