Agent 研习舱
Agent 基础设施2026-04-09

Pets vs Cattle

定义

Pets vs Cattle 是云基础设施领域的经典思维模型:**宠物(pets)**是命名的、手工照料的、无法承受丢失的个体服务器,**牛(cattle)**是可互换、按配方重建、允许随时杀掉替换的无状态实例。好的系统设计应尽可能把组件推向 cattle 一侧,因为只有这样才能在故障、扩缩、升级面前保持可运维性。

要点

  • 来源:Cloudscaling 博客(Randy Bias,约 2012),后成为 DevOps 常识
  • 本质是对"运维失败模式"的分类:宠物挂了就得"治病"(调试、手工恢复),牛挂了就重建
  • 判断标准:组件是否可以通过一条标准配方从零快速重建
  • 推到极致的表现:容器化、immutable infra、可重放的事件日志、无状态服务 + 外置状态
  • 反模式:服务器有名字、手工配置、唯一身份、持久本地状态

示例

Claude Managed Agents 早期版本把 session / harness / sandbox 塞在一个容器里——容器成了宠物:挂了会丢 session,卡住时需要 shell 进去"护理"。重构后 harness 离开容器,容器仅在需要时通过 provision({resources}) 按配方重建;harness 本身也因为状态外置到 session 而变成可重建的 cattle。结果:p50 TTFT 下降约 60%、p95 下降超 90%,运维负担大幅降低。

相关概念

参考资料

被这些概念引用

来自本站知识库 · 全部概念