← 中文资源

简体中文版本

十二要素应用

十二要素是可部署服务的方法论:配置来自环境、进程无状态、日志写流、随时可弃——云平台围绕自动化的一切契约。

阅读英文原文

概念定义

云平台奖励一份特定契约:启动快、配置来自环境、无必需状态、日志走 stdout 的进程。十二要素命名了这份契约,让跨团队跨语言的统一自动化成为可能。

工作机制

每个要素拆掉一种耦合:环境注入配置消除按环境出包;无状态进程消除会话钉扎;日志流消除磁盘管理;可弃性消除启停仪式。合计就是一个平台可以随手启动、停止、搬移、扩缩而应用毫无察觉的服务。

使用场景

一切要上容器编排或 PaaS 的服务,平台自动化全部建立在这些属性之上。遗留系统可渐进采纳——先配置与日志,无状态最后。

常见误区

“容器时代过时论”恰好反了:容器与编排器自动化的正是这些属性,要素就是它们期望的 API。无状态指“请求正确性不依赖本地状态”——缓存与临时草稿无妨,记录库不行。环境变量不是秘密的归宿:崩溃转储、子进程、ps 输出都会泄漏,所以有专门的秘密管理器。日志写进容器本地文件,pod 逐出即丢。要素只谈部署契约不谈韧性与数据——逐字遵从而不加判断,会重造它从未声称要解决的问题。