正片开始,我将围绕 Linux、systemd 管理的独立 MySQL 8.0 实例展开,使用普通 InnoDB 全量备份。MySQL 8.0 应选择与具体服务器小版本兼容的 Percona XtraBackup 8.0;MySQL 8.4 需要另查对应分支的支持矩阵。同为“8.0”也不能推定...
同一个接口,Java 服务重试三次,Go 服务重试一次,另一个服务干脆没有超时。新版本想先放一点流量,客户端却各自维护地址。出了故障,应用日志都说“下游调用失败”,链路到哪一跳开始慢,没人能马上对齐。这才是 Service Mesh 值得讨论的现场。它把服务间通信的一部分共性能力放到基础设施里...
发布完成,容器全部显示“运行中”,业务监控却开始报错。旧实例正在退出,新实例还没准备好,流量已经打了进去。另一种情况更直接:承载服务的主机故障了。镜像还在、配置也在,但服务能否自动恢复,取决于是否有人替你调度新的实例,以及剩余节点有没有容量。这时再去比较“哪个工具功能更多”,很难解决眼前的问题...
凌晨的告警突然响起:一台 16 核 Linux 节点的 Load Average 已经超过 100,接口延迟持续上升,部分请求开始超时。值班同事登录服务器后却发现,CPU Idle 仍有 80% 左右。既没有进程持续占满 CPU,内存也没有明显耗尽。扩容一台机器后,故障依旧没有消失。更反常的是...
凌晨一点多,新版订单服务刚上线,监控群就开始刷屏:接口超时、下单失败率上涨、客服反馈用户无法提交订单。更麻烦的是,新旧版本混在同一个 Deployment 里滚动更新。我想把流量切回旧版本,却发现旧 Pod 已经被逐渐替换,回滚镜像、拉起容器、等待探针,前后折腾了十几分钟。后来我把发布方式改成...
热爱技术的云计算运维工程师,Python全栈工程师,分享开发经验与生活感悟。
欢迎关注我的微信公众号@运维躬行录,领取海量学习资料