标签频道
配置管理
该标签下的文章、提问与讨论帖。
中间件研发中的工程规范与可维护性实践 一、现象或背景 在一次生产环境的事故复盘中,我们发现一个新服务上线3周后才暴露问题,根因并非代码bug,而是三个默认参数叠加导致的雪崩:连接池maximumPoolSize用默认值10(峰值300QPS
【背景】 做了 5 年中间件研发,最近复盘一起事故:一个新服务上线 3 周才在生产暴露问题,根因不是代码 bug,而是三个"默认值"叠加——连接池 maximumPoolSize 用默认 10(峰值 300 QPS 下必打满)、Kafka
【背景】 最近复盘了两起事故,根因居然一致:我们「信任了中间件的默认值」。 - 一起是 Kafka 消费者停机 8 天重启后静默跳了几百万条(社区已有《offsets.retention 默认 7 天》那篇讲得很透); - 另一起更隐蔽:H
背景(从现象倒推根因) 我最近参与复盘了一起线上事故:一个对账服务停机 8 天后重启,Kafka 消费者静默跳过了 465 万条消息(社区里有同主题文章 id=1530,根因是 "offsets.retention.hours" 默认 7
«结论先行:K8s 里"改 ConfigMap 不生效"绝大多数不是 bug,而是你走错了刷新路径——volume 挂载、subPath 挂载、env 注入这三条路径的自动刷新行为完全不同,而团队里最常见的错误是默认认为"三处都会自动更新"
【背景】 最近复盘一次线上事故:某个服务的连接池参数被写死在镜像里,改一次要重新发版、灰度、回滚走一整圈,结果改完没生效——因为配置其实是从环境变量读的,镜像里那份根本没被加载。最后排查了俩小时,锅算在「配置到底在哪」这件事上。 我干运维
«结论先行:「staging 全绿」是一个没有量纲的结论。它只说明「在这套配置、这个数据量级、这个时钟下没炸」,对生产零承诺。我 10 年做测试开发,经手过 5 起「测试全绿、生产事故」,根因没有一起是代码逻辑 bug,全是配置与环境的隐性
背景 最近帮几个团队做中间件治理复盘(消息队列、RPC 框架、缓存客户端这类自研组件),翻了一圈配置链路后发现一个反复出现的分裂:同一套中间件,A 团队 90% 参数写在代码仓库的 yaml 里走 GitOps 发布;B 团队几乎全部参数挂
«结论先行:"kubectl edit configmap" 之后 Pod 里读到的还是旧值,这不是 bug,而是 K8s 的设计——配置「更新」和「Pod 感知到更新」之间隔着两层机制,且它们的生效条件完全不同。这篇文章把 ConfigM
文
标题
摘要