Loading...
Loading...
Compare original and translation side by side
| Factor | Principle | Key Concept |
|---|---|---|
| I. Codebase | One codebase, many deploys | Single repo per app, version controlled |
| II. Dependencies | Explicitly declare and isolate | No implicit system-wide packages |
| III. Config | Store in environment | Never hardcode configuration |
| IV. Backing Services | Treat as attached resources | Databases, caches are swappable resources |
| V. Build, Release, Run | Strict separation | Immutable releases, no runtime changes |
| VI. Processes | Stateless and share-nothing | Horizontal scaling, no sticky sessions |
| VII. Port Binding | Export via port | Self-contained, no runtime injection |
| VIII. Concurrency | Scale out via process model | Horizontal over vertical scaling |
| IX. Disposability | Fast startup, graceful shutdown | Maximise robustness |
| X. Dev/Prod Parity | Keep environments similar | Continuous deployment |
| XI. Logs | Treat as event streams | Separate generation from processing |
| XII. Admin Processes | Run as one-off processes | Same environment as app |
| XIII. API First | Design contracts first | Enable parallel development |
| XIV. Telemetry | Monitor everything | APM, health checks, domain metrics |
| XV. Security | Authentication & Authorisation | RBAC, identity per request |
| 要素 | 原则 | 核心概念 |
|---|---|---|
| I. 代码库 | 单一代码库,多环境部署 | 每个应用对应单一代码仓库,版本受控 |
| II. 依赖项 | 显式声明与隔离 | 无隐式系统级依赖包 |
| III. 配置 | 存储于环境变量 | 绝不硬编码配置 |
| IV. 支撑服务 | 视为附加资源 | 数据库、缓存为可替换资源 |
| V. 构建、发布、运行 | 严格分离 | 不可变发布版本,运行时禁止修改 |
| VI. 进程 | 无状态、无共享 | 水平扩展,无粘性会话 |
| VII. 端口绑定 | 通过端口暴露服务 | 自包含,无运行时注入 |
| VIII. 并发 | 通过进程模型扩展 | 优先水平扩展而非垂直扩展 |
| IX. 可处置性 | 快速启动、优雅关闭 | 最大化韧性 |
| X. 开发/生产环境一致性 | 保持环境相似 | 持续部署 |
| XI. 日志 | 视为事件流 | 日志生成与处理分离 |
| XII. 管理进程 | 作为一次性进程运行 | 与应用使用相同环境 |
| XIII. API First | 先设计契约 | 支持并行开发 |
| XIV. Telemetry | 全面监控 | APM、健康检查、领域指标 |
| XV. Security | 认证与授权 | RBAC、请求级身份验证 |
□ Single codebase in version control
□ All dependencies explicitly declared
□ Configuration externalised to environment
□ Backing services abstracted and swappable
□ Build, release, run stages separated
□ Stateless processes (no sticky sessions)
□ Services self-contained with port binding
□ Designed for horizontal scaling
□ Fast startup and graceful shutdown
□ Dev/staging/prod environments aligned
□ Logs streamed to external aggregator
□ Admin tasks automated and reproducible
□ API contracts defined before implementation
□ Telemetry: APM, health checks, metrics
□ Security: Authentication and authorisation□ 单一代码库已纳入版本控制
□ 所有依赖项均已显式声明
□ 配置已外部化至环境变量
□ 支撑服务已抽象且可替换
□ 构建、发布、运行阶段已分离
□ 进程无状态(无粘性会话)
□ 服务通过端口绑定实现自包含
□ 应用针对水平扩展设计
□ 支持快速启动与优雅关闭
□ 开发/预发布/生产环境保持一致
□ 日志已流转至外部聚合器
□ 管理任务已自动化且可重复执行
□ API契约在实现前已定义
□ Telemetry:已配置APM、健康检查与指标
□ Security:已实现认证与授权references/overview.mdreferences/original-factors.mdreferences/modern-extensions.mdreferences/setup-and-tools.mdreferences/modern-extensions.mdreferences/overview.mdreferences/original-factors.mdreferences/modern-extensions.mdreferences/setup-and-tools.mdreferences/modern-extensions.mdgrep -i "swagger\|openapi" references/grep -i "log\|fluentd\|elk" references/grep -i "oauth\|rbac\|authentication" references/grep -i "docker\|container" references/grep -i "swagger\|openapi" references/grep -i "log\|fluentd\|elk" references/grep -i "oauth\|rbac\|authentication" references/grep -i "docker\|container" references/