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