一个应用,一个基准代码git仓库,多个环境版本部署(prod,staging,develop)
显式声明依赖关系
docker的dockerfile,php的composer.json,python的requirements.txt等依赖关系声明
把后端服务当作附加资源
数据库(MySQL,CouchDB),消息/队列系统(RabbitMQ,Beanstalkd),SMTP 邮件发送服务(Postfix),以及缓存系统(Memcached)
- 构建阶段 是指将代码仓库转化为可执行包的过程。构建时会使用指定版本的代码,获取和打包 依赖项,编译成二进制文件和资源文件
- 发布阶段 配置 会将构建的结果和当前部署所需 配置 相结合,并能够立刻在运行环境中投入使用
- 运行阶段 (或者说“运行时”)是指针对选定的发布版本,在执行环境中启动一系列应用程序 进程
12-Factor 应用的进程必须无状态且 无共享 。 任何需要持久化的数据都要存储在 后端服务 内,比如数据库
将不同的工作分配给不同的 进程类型 ,比如web任务,和常驻内存的worker,开发者可以根据类型进行构建扩容
12-Factor 进程 无状态且 无共享,可以瞬间开启或停止。
12-Factor 应用的开发人员应该反对在不同环境间使用不同的后端服务,本地环境,测试环境,预发布环境与线上环境应尽可能的接近
通过统一的日志收集系统,日志进入大数据处理系统,索引系统,时序数据库进行存储并最后归档
执行一些管理或维护应用的一次性任务,一次性管理进程应该和正常的 常驻进程 使用同样的环境,如项目中的Command命令
可参考:
12 Factor App in Action (12 要素应用实战) – 知乎
原文地址:https://blog.csdn.net/cxs812760493/article/details/134601777
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_3432.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!