成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

配置文件相關(guān)筆記

spademan / 2651人閱讀

摘要:配置文件位置這里主要講的是,配置文件不要跟源碼放在一個(gè)目錄。這樣每次每次更新都不會(huì)覆蓋配置文件,并且原來的配置文件可以作為配置模板,不負(fù)責(zé)配置實(shí)例。

配置文件位置

這里主要講的是,配置文件不要跟源碼放在一個(gè)目錄。比如我新建了一個(gè)django project,然后用了里面的settings來作為我代碼的配置。你項(xiàng)目目錄可能是這樣的

mysite/
├── apps
│?? ├── account
│?? │?? ├── control.py
│?? │?? ├── __init__.py
│?? │?? ├── urls.py
│?? │?? └── views.py
├── settings.py

這里settings.py跟源碼放在同一個(gè)目錄。這樣會(huì)很出這個(gè)問題,如果你每次更新線上環(huán)境的時(shí)候,都是把源碼打成一個(gè)包(例如deb包),然后安裝的時(shí)候,替換這個(gè)目錄。這樣你每次線上的配置都會(huì)給你覆蓋掉。
例如我線上配置了每次登陸系統(tǒng)的用戶是50,你這個(gè)新包里的配置是一個(gè)默認(rèn)值,那這樣就不一致了。

所以,代碼還是代碼,配置還是配置,不要混在一起,雖然很簡(jiǎn)單,但是很有必要考慮。

這里應(yīng)該在project源碼外面新建一個(gè)目錄conf,來存放配置文件。

project/
├── conf
│?? └── settings.py
├── mysite
│?? └── apps
│??     └── account
│??         ├── control.py
│??         ├── __init__.py
│??         ├── urls.py
│??         └── views.py

這樣每次每次更新都不會(huì)覆蓋配置文件,并且原來的配置文件可以作為配置模板,不負(fù)責(zé)配置實(shí)例。

配置本地化

對(duì)于前面的問題,你不打算新建一個(gè)目錄存放配置的話,或許可以通過支持配置本地化來解決,也就是支持服務(wù)有自己的配置,不會(huì)因?yàn)榕渲梦募露桓采w,比如你在代碼層面支持local_settings.py每次讀取配置的時(shí)候,會(huì)先從local_settings.py里讀取,然后再?gòu)膕ettings.py里讀取。

服務(wù)支持獲取最新配置

如果你的配置文件經(jīng)常修改,并且每次服務(wù)都需要用到最新配置,那么可能需要服務(wù)在代碼層面支持檢測(cè)配置文件是否被更新,更新了則使用最新配置。

如果你用服務(wù)線程定期去檢測(cè)配置文件,然后更新自己內(nèi)存里的值,這也可以,首先生產(chǎn)環(huán)境需要支持配置自動(dòng)部署更新,比如我通過集群里一個(gè)節(jié)點(diǎn)推送到其他節(jié)點(diǎn),實(shí)現(xiàn)全部更新?;蛘呤褂靡恍╅_源服務(wù),由該基礎(chǔ)配置服務(wù)提供統(tǒng)一接口,其他服務(wù)通過該接口讀取配置,這樣實(shí)現(xiàn)起來可能會(huì)更簡(jiǎn)單??傊?,各取所需。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43386.html

相關(guān)文章

  • 《Spring實(shí)戰(zhàn)》讀書筆記——Spring簡(jiǎn)介

    摘要:如何降低開發(fā)的復(fù)雜性最小侵入編程通過面向接口和依賴注入實(shí)現(xiàn)松耦合基于編程慣例和切面進(jìn)行聲明式編程通過模板減少樣板式代碼容器在應(yīng)用中,不再由對(duì)象自行創(chuàng)建或管理它們之間的依賴關(guān)系容器負(fù)責(zé)創(chuàng)建對(duì)象裝配對(duì)象配置它們并管理它們的整個(gè)生命周期。 歡迎大家關(guān)注我的微信公眾號(hào),一起探討Java相關(guān)技術(shù) showImg(https://segmentfault.com/img/bVboaBO?w=129...

    CKJOKER 評(píng)論0 收藏0
  • webpack實(shí)踐筆記(二)---添加 loaders

    摘要:實(shí)踐筆記二源碼地址本篇文章基于分支切換分支加載順序分了三個(gè)級(jí)別,,分別代表前中后,三個(gè)處理狀態(tài)。安裝相關(guān)包創(chuàng)建文件,每個(gè)公司采用適合自己的規(guī)則。配置文件較大,可查看項(xiàng)目源碼。 webpack實(shí)踐筆記(二)--- add loaders [源碼地址]:( https://github.com/silence717... ) 本篇文章基于分支step2,切換分支:git checkout ...

    cnsworder 評(píng)論0 收藏0
  • vue學(xué)習(xí)筆記(四)

    摘要:提供了兩種向組件傳遞參數(shù)的方式。子路由項(xiàng)路徑不要使用開頭,以開頭的嵌套路徑會(huì)被當(dāng)作根路徑。路由實(shí)例的方法這里學(xué)習(xí)兩個(gè)路由實(shí)例的方法和。實(shí)際上,是通過不同的將這些資源加載后打包,然后輸出打包后文件。 一、vue-router 1、簡(jiǎn)介 我們經(jīng)常使用vue開發(fā)單頁(yè)面應(yīng)用程序(SPA)。在開發(fā)SPA過程中,路由是必不可少的部分,vue的官方推薦是vue-router。單頁(yè)面應(yīng)用程序看起來好像...

    frank_fun 評(píng)論0 收藏0
  • vue學(xué)習(xí)筆記(四)

    摘要:提供了兩種向組件傳遞參數(shù)的方式。子路由項(xiàng)路徑不要使用開頭,以開頭的嵌套路徑會(huì)被當(dāng)作根路徑。路由實(shí)例的方法這里學(xué)習(xí)兩個(gè)路由實(shí)例的方法和。實(shí)際上,是通過不同的將這些資源加載后打包,然后輸出打包后文件。 一、vue-router 1、簡(jiǎn)介 我們經(jīng)常使用vue開發(fā)單頁(yè)面應(yīng)用程序(SPA)。在開發(fā)SPA過程中,路由是必不可少的部分,vue的官方推薦是vue-router。單頁(yè)面應(yīng)用程序看起來好像...

    lwx12525 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<