资讯专栏INFORMATION COLUMN

十二因子应用(三)

刘福 / 3055人阅读

摘要:原文配置将配置保存在环境中应用的配置是指在各种部署预发,线上,开发环境等时的信息。这违反了因子规则,规则要求将配置从代码中隔离。因子应用将配置信息存储在环境变量中一般是或。在因子应用中,变量是粗粒度控制。

原文:https://12factor.net/zh_cn/

III. 配置 将配置保存在环境中

应用的配置是指在各种部署(预发,线上,开发环境等)时的信息。这包括:

处理数据库,缓存或其他后端服务的资源

亚马逊s3或Twitter等外部服务的验证信息

像部署用的主机名这种预部署的值信息

应用有时将部署信息放在代码的常量中。这违反了12因子规则,规则要求将配置从代码中隔离。配置可以在各种差异极大的部署中传递,代码不能。

一种检验应用是否配置正确成为开箱即用的方式是,应用可以在任何时刻开源,不需要对一些凭证信息妥协。

记住这里对“配置”的定义不包括应用内部配置,比如Rails的config/routes.rb, 或者代码模块是如何连接到Spring的。这种类型的配置在部署时不会差异极大,所以最好还是写在代码里。

另一种做配置的方式是使用不会提交到版本控制里的配置文件(config files),如Rails的config/database.yml。这相比会提交到代码库中的常量是一种巨大的进步,但仍有弱点:在将配置文件提交到仓库时很容易出错;配置文件有一种以各种格式并放在各种地方的趋势,使得在一处管理所有配置很难。而且,这些格式会与使用的语言和框架有关。

12因子应用将配置信息存储在环境变量中(一般是env vars或env)。Env vars可以在部署时很简单的做变更并且不需要更改任何代码;不像配置文件,它们几乎没有机会被意外的提交到代码库;也不像自定义配置文件,或其他像Java System Properties的配置机制,它们是与语言和操作系统无关的。

配置管理的另一个层面是分组。有时应用被批量配置到一个已经被特定部署命名过的分组(一般叫做“环境”),比如Rails中的 开发(development),测试(test),生产(production) 环境。这样的方式不太适合伸缩: 当应用有新的环境部署时,就需要一个新环境的命名,比如预发和测试。当项目发展起来,开发可能会添加他们特定的环境,比如 joes-staging,会造成管理应用部署的配置爆炸。

在12因子应用中,env 变量是粗粒度控制。它们从不被分组成“环境”,但每个部署集群会被独立管理。这种方式可以更平滑的对应用做伸缩,在其生命周期中部署到更多的集群。

本文来自微信公众号「麦芽面包」,id「darkjune_think」
转载请注明。
交流Email: zhukunrong@yeah.net

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/77058.html

相关文章

  • 【译】十二因子应用(四)

    摘要:后端服务将后端服务视为可拔插的资源后端服务是一种在应用在网络上正常运行时消费的任意一种服务。一份因子应用的部署可以不经过任何代码修改将本地数据库替换成第三方的服务如。因子应用将这些数据库看做可拔插资源,在部署时是松耦合的。 IV 后端服务 将后端服务视为可拔插的资源 后端服务是一种在应用在网络上正常运行时消费的任意一种服务。包括数据库(如MySQL或CouchDB),消息/队列系统(如...

    lx1036 评论0 收藏0
  • 时间的符号

    摘要:拿到一个时间符号,可以知道它的精确值,不论身在哪个地区。例如此时此刻可以表达为东八区年月日晚上点分。编号为的草案中常用的标准格式,如表示这是东八区的在浏览器的控制台,执行命令,输出的就是这种格式。 showImg(https://segmentfault.com/img/bVTqnc?w=695&h=141); 从具象到抽象的归纳总结要借助符号,从抽象到具象更需要借助符号 1. 那些听...

    izhuhaodev 评论0 收藏0
  • 12因子应用文档(一)

    摘要:因子是一种构建应用的方法用声明式的格式设置自动化,最小化新开发者加入项目的时间和成本。代码库一份被版本控制追踪的代码,多份部署因子应用会一直放在版本控制中,如,或者。每个分布式系统中的组件是一个应用,每一个都可以独立遵守因子。 原文地址: https://12factor.net/12factor... 介绍 现在软件通常交付为一个服务:可以叫web应用,或软件即服务(SaaS)。1...

    浠ラ箍 评论0 收藏0
  • 云计算国家规划将出台 产值将达2000亿

    摘要:未来三年中国云计算产业链的产值规模将达到亿元。科技部的研究报告指出,云计算将成为第四次产业革命。据悉,三部委面向个云计算试点城市,精心遴选了个重点项目,支持资金规模高达亿元。 导读:记者日前从科技部获悉,颇受关注的中国云产业发展国家级规划已获国务院批准,近期将发布。规划包括十二五期间中国云产业的发展思   导读:记者日前从科技部获悉,颇受关注的中国云产业发展国家级规划已获国务院批准,...

    dreambei 评论0 收藏0
  • 中国制造业加速拥抱云计算

    摘要:在日前召开的云栖大会上海峰会上,多位专家认为,制造业正在加速拥抱云计算,数字制造和智能制造正成为新的关键词,云计算帮助企业加速从要素驱动向创新驱动转变。随着云计算、移动互联网等新一代信息技术的发展,以及传统工业制造业面临转型升级,二者之间的关系变得更加紧密。在日前召开的云栖大会·上海峰会上,多位专家认为,制造业正在加速拥抱云计算,数字制造和智能制造正成为新的关键词,云计算帮助企业加速从要素驱...

    jsliang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<