1、爲何選擇配置中心mysql
1.項目改成微服務形式了因此用配置中心是必然spring
2.若是不用配置中心,配置文件會隨着環境的改變和項目的增多而致使管理起來很麻煩sql
如圖是以前的配置文件:數據庫
首先每一個微服務有多個環境配置信息,而後同時又有N個微服務,若是其中一個IP或者配置改變,那麼全部項目都要改,這個工做量可想而知。而用了配置中心全部配置都在服務端,配置更改能夠通知到每一個服務中,這就使得維護配置變得很是簡單。springboot
例如如今的配置如圖:網絡
配置中心管理後臺如圖:微服務
2、如何選擇適合咱們的配置中心阿里雲
目前市面上用的比較多的配置中心有:(按開源時間排序)blog
Disconf
2014年7月百度開源的配置管理中心,一樣具有配置的管理能力,不過目前已經不維護了,最近的一次提交是兩年前了。排序
Spring Cloud Config
2014年9月開源,Spring Cloud 生態組件,能夠和Spring Cloud體系無縫整合。
Apollo
2016年5月,攜程開源的配置管理中心,具有規範的權限、流程治理等特性。
Nacos
2018年6月,阿里開源的配置中心,也能夠作DNS和RPC的服務發現。
根據網絡資料查詢對比幾款配置中心的區別以下:
其實說白了配置中心要知足如下幾個核心點功能:
1. 客戶端能經過必定方式從配置中心獲取到相應配置
(Nacos支持springboot,能夠用註解注入屬性或者配置文件,使用DataId區分配置)
2. 配置中心的配置改動能被客戶端監聽而且獲取改動值
(Nacos使用長鏈接方式監聽服務端數據改動)
3. 配置中心應該支持數據持久化,防止數據丟失
(Nacos支持mysql數據庫存儲配置)
4. 配置中心做爲全部應用的配置核心點應該支持高可用部署
(Nacos支持集羣部署,並經過域名 + VIP模式提升穩定性和靈活性)
5. 配置中心應當提供環境隔離功能
(Nacos能夠經過「命名空間」區分環境)
經過以上考慮選擇Nacos比較合適,Nacos基本能知足咱們的需求,而且Nacos脫胎於阿里雲的的商業化配置中心ACM,目前由阿里巴巴主導維護,項目比較火熱,可以支持使用者反饋。
參考文檔: