confd_confd + Nacos | 无代码侵入的配置变更管理
為什么要支持confd,老的應(yīng)用配置管理模式是啟動(dòng)時(shí)讀取配置文件,然后重新讀取配置文件需要應(yīng)用重啟。
一般的配置管理系統(tǒng)都是代碼侵入性的,應(yīng)用接入配置管理系統(tǒng)都需要使用對(duì)應(yīng)的SDK來(lái)查詢(xún)和監(jiān)聽(tīng)數(shù)據(jù)的變更。對(duì)于一些已經(jīng)成熟的系統(tǒng)來(lái)說(shuō),接入SDK來(lái)實(shí)現(xiàn)動(dòng)態(tài)配置管理是很難實(shí)現(xiàn)的,Nacos通過(guò)引入配置管理工具confd可以實(shí)現(xiàn)系統(tǒng)的配置變更做到無(wú)代碼侵入性。
confd是一個(gè)輕量級(jí)的配置管理工具,可以通過(guò)查詢(xún)后端存儲(chǔ)系統(tǒng)來(lái)實(shí)現(xiàn)第三方系統(tǒng)的動(dòng)態(tài)配置管理,如Nginx、Tomcat、Haproxy、Docker配置等。
confd目前支持的后端有etcd、ZooKeeper等,Nacos 1.1版本通過(guò)對(duì)confd定制支持Nacos作為后端存儲(chǔ)。
confd能夠查詢(xún)和監(jiān)聽(tīng)后端系統(tǒng)的數(shù)據(jù)變更,結(jié)合配置模版引擎動(dòng)態(tài)更新本地配置文件,保持和后端系統(tǒng)的數(shù)據(jù)一致,并且能夠執(zhí)行命令或者腳本實(shí)現(xiàn)系統(tǒng)的reload或者重啟。
安裝confd插件
confd的安裝可以通過(guò)源碼安裝方式,confd基于Go語(yǔ)言編寫(xiě),其編譯安裝依賴(lài)Go,首先需要確保本地安裝了Go,版本不低于v1.10。
創(chuàng)建confd目錄,下載confd源碼,編譯生成可執(zhí)行文件
mkdir -p $GOPATH/src/github.com/kelseyhightowerwget https://github.com/nacos-group/confd/archive/v0.18.0.tar.gztar -xvf v0.18.0.tar.gzmv confd-0.18.0 confdcd confdmake復(fù)制confd文件到bin目錄下,啟動(dòng)confd
sudo cp bin/confd /usr/local/binconfdconfd結(jié)合Nacos實(shí)現(xiàn)Nginx配置管理示例
本文介紹使用Nacos結(jié)合confd實(shí)現(xiàn)Nginx配置管理,為簡(jiǎn)單起見(jiàn)以Nginx的黑名單功能為演示示例,Nacos使用官網(wǎng)部署的服務(wù),域名為console.nacos.io。Nginx的安裝可以參考網(wǎng)上文章。
1.創(chuàng)建confd所需目錄
confd配置文件默認(rèn)在/etc/confd中,可以通過(guò)參數(shù)-confdir指定。目錄中包含兩個(gè)子目錄,分別是:conf.d templates
mkdir -p /etc/confd/{conf.d,templates}2.創(chuàng)建confd配置文件
confd會(huì)先讀取conf.d目錄中的配置文件(toml格式),然后根據(jù)文件指定的模板路徑去渲染模板。
vim /etc/confd/conf.d/nginx.toml內(nèi)容為如下,其中nginx.conf.tmpl文件為confd的模版文件,keys為模版渲染成配置文件所需的配置內(nèi)容,/usr/local/nginx/conf/nginx.conf為生成的配置文件
[template]src = " nginx.conf.tmpl"dest ="/usr/local/nginx/conf/nginx.conf"keys = ["/nginx/conf總結(jié)
以上是生活随笔為你收集整理的confd_confd + Nacos | 无代码侵入的配置变更管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: β射线与哪些物质可产生较高的韧致辐射_辐
 - 下一篇: js怎么获取一个元素与屏幕右边的距离_j