动易网站 模板,企业年金查询app,软件开发专业需要学什么,网站开发工程师的经验I. 基准代码
一份基准代码#xff0c;多份部署
一个应用#xff0c;一个基准代码git仓库#xff0c;多个环境版本部署#xff08;prod#xff0c;staging#xff0c;develop#xff09; II. 依赖
显式声明依赖关系
docker的dockerfile#xff0c;php的composer.jso…
I. 基准代码
一份基准代码多份部署
一个应用一个基准代码git仓库多个环境版本部署prodstagingdevelop II. 依赖
显式声明依赖关系
docker的dockerfilephp的composer.jsonpython的requirements.txt等依赖关系声明 III. 配置
在环境中存储配置
每个环境都有对应的env文件配置 IV. 后端服务
把后端服务当作附加资源
数据库MySQLCouchDB消息/队列系统RabbitMQBeanstalkdSMTP 邮件发送服务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 要素应用实战 - 知乎