SLO 与错误预算:用数据驱动可靠性
'"99.9% 可用性"不是口号,是用 SLO(目标)+ 错误预算(允许不可用的额度)来驱动工程决策。本文讲清 SLI/SLO/SLA 的关系、错误预算怎么算和怎么用(预算没花完→可以冒险发版;花超了→冻结只修 bug),以及一个用数据而非感觉来管可靠性的文化。'
DevOps、Docker、Kubernetes、可观测性
本专题收录 云原生 方向的文章和社区讨论,重点关注真实工程场景、工具选择、实践路径和风险边界。
页面会持续更新,适合作为学习路线、选型参考和技术复盘入口。
'"99.9% 可用性"不是口号,是用 SLO(目标)+ 错误预算(允许不可用的额度)来驱动工程决策。本文讲清 SLI/SLO/SLA 的关系、错误预算怎么算和怎么用(预算没花完→可以冒险发版;花超了→冻结只修 bug),以及一个用数据而非感觉来管可靠性的文化。'
CPU 指标无法及时反映 AI 队列积压与模型预热。本文用 autoscaling/v2 外部指标建立 backlog 扩缩容,覆盖指标语义、启动延迟、稳定窗口、失效测试和回滚。
GPU 数量可调度不等于设备、CPU 与内存拓扑正确。本文区分 Device Plugin 和 DRA 的职责,给出 API 探测、NUMA 对齐、租户隔离、验收与回滚方法。
推理 Pod 退出时仅设置 preStop 或延长 grace period 仍可能丢请求。本文串联 readiness、EndpointSlice、SIGTERM、在途计数、PDB、故障测试与回滚。
用 VARCHAR(255) 存一切?用 FLOAT 存钱?类型选错,精度丢、索引差、存储浪费。本文讲清 PG 的常用数据类型和选择:数字(int/bigint/numeric)、文本(varchar/text/uuid)、时间(timestamptz!)、布尔、枚举、数组、JSONB,以及"选对类型 = 性能 + 正确性"。
大模型权重不能在每次 Pod 启动时无校验下载。本文比较 init container、共享卷与 DaemonSet 节点缓存,给出不可变摘要、原子发布、容量回收和回滚验收流程。
训练与批量推理不应靠创建大量 Pending Pod 抢 GPU。本文用 Kueue 的 LocalQueue、ClusterQueue 和 ResourceFlavor 建立租户准入、配额借用、抢占与回滚流程。
表能 time travel 不代表旧快照永远可恢复。本文将 reader 引用、快照过期、孤儿文件清理与法律保留绑定到同一代际,并用冷恢复证明元数据和数据文件没有被提前回收。
有些逻辑放数据库(触发器/函数)比放应用层高效——自动审计、级联更新、数据校验。但滥用触发器会让逻辑隐式、难调试。本文讲清 PG 触发器/函数的写法、适合的场景、不适合的场景,以及"触发器是双刃剑"的克制原则。
发邮件/生成报表/处理上传——这些慢操作放请求里会超时,放后台队列异步处理。本文讲清后台队列的核心(入队/worker/重试/监控)、选型(BullMQ/Sidekiq/Celery)、延迟与定时任务、幂等,以及"什么活该异步"的判断。
生产 LLM 网关不能只做轮询。本文给出能力约束、数据边界、延迟预算、成本上限、健康状态与降级顺序共同驱动的可审计路由策略。
读多写少?加读副本把读分摊到多个库,主库只管写。本文讲清读副本的架构(主从复制)、读写分离的实现(应用层路由/代理层)、复制延迟的一致性陷阱、以及什么时候该上读副本(读量是瓶颈时)什么时候不该。