摘要:原文配置將配置保存在環(huán)境中應用的配置是指在各種部署預發(fā),線上,開發(fā)環(huán)境等時的信息。這違反了因子規(guī)則,規(guī)則要求將配置從代碼中隔離。因子應用將配置信息存儲在環(huán)境變量中一般是或。在因子應用中,變量是粗粒度控制。
原文:https://12factor.net/zh_cn/
III. 配置 將配置保存在環(huán)境中應用的配置是指在各種部署(預發(fā),線上,開發(fā)環(huán)境等)時的信息。這包括:
處理數(shù)據(jù)庫,緩存或其他后端服務的資源
亞馬遜s3或Twitter等外部服務的驗證信息
像部署用的主機名這種預部署的值信息
應用有時將部署信息放在代碼的常量中。這違反了12因子規(guī)則,規(guī)則要求將配置從代碼中隔離。配置可以在各種差異極大的部署中傳遞,代碼不能。
一種檢驗應用是否配置正確成為開箱即用的方式是,應用可以在任何時刻開源,不需要對一些憑證信息妥協(xié)。
記住這里對“配置”的定義不包括應用內(nèi)部配置,比如Rails的config/routes.rb, 或者代碼模塊是如何連接到Spring的。這種類型的配置在部署時不會差異極大,所以最好還是寫在代碼里。
另一種做配置的方式是使用不會提交到版本控制里的配置文件(config files),如Rails的config/database.yml。這相比會提交到代碼庫中的常量是一種巨大的進步,但仍有弱點:在將配置文件提交到倉庫時很容易出錯;配置文件有一種以各種格式并放在各種地方的趨勢,使得在一處管理所有配置很難。而且,這些格式會與使用的語言和框架有關(guān)。
12因子應用將配置信息存儲在環(huán)境變量中(一般是env vars或env)。Env vars可以在部署時很簡單的做變更并且不需要更改任何代碼;不像配置文件,它們幾乎沒有機會被意外的提交到代碼庫;也不像自定義配置文件,或其他像Java System Properties的配置機制,它們是與語言和操作系統(tǒng)無關(guān)的。
配置管理的另一個層面是分組。有時應用被批量配置到一個已經(jīng)被特定部署命名過的分組(一般叫做“環(huán)境”),比如Rails中的 開發(fā)(development),測試(test),生產(chǎn)(production) 環(huán)境。這樣的方式不太適合伸縮: 當應用有新的環(huán)境部署時,就需要一個新環(huán)境的命名,比如預發(fā)和測試。當項目發(fā)展起來,開發(fā)可能會添加他們特定的環(huán)境,比如 joes-staging,會造成管理應用部署的配置爆炸。
在12因子應用中,env 變量是粗粒度控制。它們從不被分組成“環(huán)境”,但每個部署集群會被獨立管理。這種方式可以更平滑的對應用做伸縮,在其生命周期中部署到更多的集群。本文來自微信公眾號「麥芽面包」,id「darkjune_think」
轉(zhuǎn)載請注明。
交流Email: zhukunrong@yeah.net
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/77058.html
摘要:后端服務將后端服務視為可拔插的資源后端服務是一種在應用在網(wǎng)絡上正常運行時消費的任意一種服務。一份因子應用的部署可以不經(jīng)過任何代碼修改將本地數(shù)據(jù)庫替換成第三方的服務如。因子應用將這些數(shù)據(jù)庫看做可拔插資源,在部署時是松耦合的。 IV 后端服務 將后端服務視為可拔插的資源 后端服務是一種在應用在網(wǎng)絡上正常運行時消費的任意一種服務。包括數(shù)據(jù)庫(如MySQL或CouchDB),消息/隊列系統(tǒng)(如...
摘要:拿到一個時間符號,可以知道它的精確值,不論身在哪個地區(qū)。例如此時此刻可以表達為東八區(qū)年月日晚上點分。編號為的草案中常用的標準格式,如表示這是東八區(qū)的在瀏覽器的控制臺,執(zhí)行命令,輸出的就是這種格式。 showImg(https://segmentfault.com/img/bVTqnc?w=695&h=141); 從具象到抽象的歸納總結(jié)要借助符號,從抽象到具象更需要借助符號 1. 那些聽...
摘要:因子是一種構(gòu)建應用的方法用聲明式的格式設置自動化,最小化新開發(fā)者加入項目的時間和成本。代碼庫一份被版本控制追蹤的代碼,多份部署因子應用會一直放在版本控制中,如,或者。每個分布式系統(tǒng)中的組件是一個應用,每一個都可以獨立遵守因子。 原文地址: https://12factor.net/12factor... 介紹 現(xiàn)在軟件通常交付為一個服務:可以叫web應用,或軟件即服務(SaaS)。1...
摘要:未來三年中國云計算產(chǎn)業(yè)鏈的產(chǎn)值規(guī)模將達到億元??萍疾康难芯繄蟾嬷赋?,云計算將成為第四次產(chǎn)業(yè)革命。據(jù)悉,三部委面向個云計算試點城市,精心遴選了個重點項目,支持資金規(guī)模高達億元。 導讀:記者日前從科技部獲悉,頗受關(guān)注的中國云產(chǎn)業(yè)發(fā)展國家級規(guī)劃已獲國務院批準,近期將發(fā)布。規(guī)劃包括十二五期間中國云產(chǎn)業(yè)的發(fā)展思 ? 導讀:記者日前從科技部獲悉,頗受關(guān)注的中國云產(chǎn)業(yè)發(fā)展國家級規(guī)劃已獲國務院批準,...
摘要:在日前召開的云棲大會上海峰會上,多位專家認為,制造業(yè)正在加速擁抱云計算,數(shù)字制造和智能制造正成為新的關(guān)鍵詞,云計算幫助企業(yè)加速從要素驅(qū)動向創(chuàng)新驅(qū)動轉(zhuǎn)變。隨著云計算、移動互聯(lián)網(wǎng)等新一代信息技術(shù)的發(fā)展,以及傳統(tǒng)工業(yè)制造業(yè)面臨轉(zhuǎn)型升級,二者之間的關(guān)系變得更加緊密。在日前召開的云棲大會·上海峰會上,多位專家認為,制造業(yè)正在加速擁抱云計算,數(shù)字制造和智能制造正成為新的關(guān)鍵詞,云計算幫助企業(yè)加速從要素驅(qū)...
閱讀 2948·2021-11-11 10:58
閱讀 1998·2021-10-11 10:59
閱讀 3559·2019-08-29 16:23
閱讀 2422·2019-08-29 11:11
閱讀 2847·2019-08-28 17:59
閱讀 3930·2019-08-27 10:56
閱讀 2171·2019-08-23 18:37
閱讀 3169·2019-08-23 16:53