本文介绍: dockerdockerfilephpcomposer.jsonpythonrequirements.txt依赖关系声明。12-Factor 应用开发人员应该反对在不同环境使用不同的后端服务,本地环境测试环境,预发布环境与线上环境应尽可能的接近。将不同的工作分配给不同的 进程类型 ,比如web任务,和常驻内存的worker,开发者可以根据类型进行构建扩容。一个应用,一个基准代码git仓库,多个环境版本部署prod,stagingdevelop)尽可能的保持开发,预发布,线上环境相同。

I. 基准代码

一份基准代码,多份部署

一个应用,一个基准代码git仓库,多个环境版本部署prod,stagingdevelop)

II. 依赖

显式声明依赖关系

dockerdockerfilephpcomposer.jsonpythonrequirements.txt依赖关系声明

III. 配置

在环境中存储配置

每个环境都有对应的env文件配置

IV. 后端服务

把后端服务当作附加资源

数据库MySQLCouchDB),消息/队列系统RabbitMQBeanstalkd),SMTP 邮件发送服务(Postfix),以及缓存系统Memcached

V. 构建,发布,运行

严格分离构建和运行


VI. 进程

以一个或多个无状态进程运行应用

12-Factor 应用进程必须无状态且 无共享 。 任何需要持久化的数据都要存储在 后端服务 内,比如数据库

VII. 端口绑定

通过端口绑定提供服务

通过端口绑定来提供服务 ,并监听发送至该端口请求

VIII. 并发

通过进程模型进行扩展

将不同的工作分配给不同的 进程类型 ,比如web任务,和常驻内存的worker,开发者可以根据类型进行构建扩容

IX. 易处理

快速启动和优雅终止可最大化健壮性

12-Factor 进程 无状态且 无共享可以瞬间开启或停止。

X. 开发环境与线上环境等价

尽可能的保持开发,预发布,线上环境相同

12-Factor 应用开发人员应该反对在不同环境间使用不同的后端服务,本地环境,测试环境,预发布环境与线上环境应尽可能的接近

XI. 日志

日志当作事件

通过统一的日志收集系统,日志进入大数据处理系统索引系统,时序数据库进行存储最后归档

XII. 管理进程

后台管理任务当作一次性进程运行

执行一些管理或维护应用的一次性任务,一次性管理进程应该和正常的 常驻进程 使用同样的环境,如项目中的Command命令

可参考:

The Twelve-Factor App (简体中文)

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进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注