构建 SaaS 应用的方法论。原文链接

1 基准代码

  • 一份基准代码,多份部署
  • 一个服务只有一个镜像,不同环境使用不同的配置部署

2 依赖

  • 显式声明依赖关系并隔离依赖
  • 锁定依赖版本(pipenv)

3 配置

  • 配置与代码分离
  • 在环境中储存配置

4 后端服务

  • 后端服务作为附加资源
  • 服务配置化

5 构建,发布和运行

  • 严格分离构建和运行阶段
  • 建立 CI/CD 流程

6 进程

  • 无状态进程
  • 持久化数据存储在外部(实现弹性的前提)

7 数据隔离

  • 每个服务管理自己的数据
  • 服务之间只能通过 API 通信(微服务)

8 并发

  • 通过进程模型进行扩展
  • 提高资源利用率

9 易处理

  • 通过快速启动和优雅退出来最大化应用的健壮性

10 开发环境和线上环境等效

  • 尽可能保证开发环境,预发布环境和生产环境相同
  • 使用相同的镜像
  • 解决不同环境的依赖服务内容

11 日志

  • 把日志当作事件流
  • 把日志输出到外部系统中统一记录

12 管理进程

  • 把后台管理任务当作一次性进程来运行
  • 管理进程与服务运行在相同的环境中

相关文章