中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微服務架構的配置中心有什么作用

發布時間:2022-01-05 15:28:37 來源:億速云 閱讀:659 作者:iii 欄目:大數據

本篇內容介紹了“微服務架構的配置中心有什么作用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、為什么需要「配置中心」?

我們先來看看在沒有「配置中心」的傳統項目中,我們是怎么處理各類配置參數問題的:

  1. 一般是靜態化配置。大多數在項目中單獨寫一個配置文件,例如 "config.conf",然后將各類 參數配置、應用配置、環境配置、安全配置、業務配置 都寫到這個文件里。當項目代碼邏輯中需要使用配置的時候,就從這個配置文件中讀取。這種做法雖然簡單,但如果參數需要修改,就非常的不靈活,甚至需要重啟運行中的項目才能生效。相信大多數開發同學都深有體會。

  2. 配置文件無法區分環境。由于配置文件是放在項目中的,但是我們項目可能會有多個環境,例如:測試環境、預發布環境、生產環境。每一個環境所使用的配置參數理論上都是不同的,所以我們在配置文件中根據不同環境配置不同的參數,這些都是手動維護,在項目發布的時候,極其容易因開發人員的失誤導致出錯。

  3. 配置文件過于分散。如果一個項目中存在多個邏輯模塊獨立部署,每個模塊所使用的配置內容又不相同,傳統的做法是會在每一個模塊中都放一個配置文件,甚至不同模塊的配置文件格式還不一樣。那么長期的結果就是配置文件過于分散混亂,難以管理。

  4. 配置修改無法追溯。因為采用的靜態配置文件方式,所以當配置進行修改之后,不容易形成記錄,更無法追溯是誰修改的、修改時間是什么、修改前是什么內容。既然無法追溯,那么當配置出錯時,更沒辦法回滾配置了。

上面只是拿配置文件的形式來舉例,有的項目會采用數據庫配置,雖然靈活一點,但是依舊不能完全解決上述問題。既然傳統的項目配置有這么多弊端,那我們看看「配置中心」的方案是如何解決這些痛點的:

「配置中心」的思路就是把項目中各種配置、各種參數、各種開關,全部都放到一個集中的地方進行統一管理,并提供一套標準的接口。當各個服務需要獲取配置的時候,就來「配置中心」的接口拉取。當「配置中心」中的各種參數有更新的時候,也能通知到各個服務實時的過來同步最新的信息,使之動態更新。

那么,按照上述思路,我們理想中的「配置中心」應該具備如下特點:

  • 配置集中管理、統一標準

  • 配置與應用分離

  • 實時更新

  • 高可用

具有上述特性的「配置中心」是如何解決上面傳統配置所面臨的問題的呢?

  1. 采用“配置集中管理”,可以很好的解決傳統的“配置文件過于分散”的問題。所有的配置都集中在配置中心這一個地方管理,不需要每一個項目都自帶一個,這樣極大的減輕了開發成本。

  2. 采用“配置與應用分離”,可以很好的解決傳統的“配置文件無法區分環境”的問題,配置并不跟著環境走,當不同環境有不同需求的時候,就到配置中心獲取即可,極大的減輕了運維部署成本。

  3. 具備“實時更新”的功能,就是用來解決傳統的“靜態化配置”的問題。線上系統需要調整參數的時候,只需要在配置中心動態修改即可。

  4. 既然配置都統一管理了,那配置中心在整個系統中的地位就非常重要了,一旦配置中心不能正常提供服務,就可能會導致項目整體故障,因此“高可用”就是配置中心又一個很關鍵的指標了。

 
二、「配置中心」的原理與應用?

通過上面的介紹,其實就可以了解到「 配置中心 」的原理不是很復雜。其核心功能也不多,主要是:

  1. 實現配置的記錄

  2. 實現配置的讀取、更新、取消

  3. 實現配置的查看

但是圍繞著這幾個核心功能,我們還需要保障高可行、要實現實時更新、要能方便的使用,還希望有權限管理的功能、操作審計的功能等等,加上這些周邊輔助功能之后,一個完善的「 配置中心 也就不那么簡單了。

我們再來看一下在實際項目中如何去選型和應用:

雖然配置中心的核心原理并不復雜,我們可以根據原理自己去實現一個配置中心,但是如果沒有特殊需求,還是不建議重復造輪子了,畢竟業內已經有很多成熟的開源方案可以直接選用了。下面就列舉幾個比較熱門的配置中心開源組件給大家參考:

  • Apollo

    Apollo是由攜程開源的分布式配置中心。

    Apollo的特點有很多,比如:配置更新之后可以實時生效,還可以支持灰度發布功能。并且能對所有的配置進行版本管理、操作審計等功能,提供開放平臺API。另外由于Apollo使用的人很多,所以網上的資料也非常的豐富,并且github上資料也寫的很詳細。

    微服務架構的配置中心有什么作用

  • 上面即是Apollo的基礎模型,看結構很簡單。但是其功能很多,之前說過配置中心對高可用的要求很高。下面可以繼續看一下Apollo的架構:

    微服務架構的配置中心有什么作用

  • Spring Cloud Config包含了Config Client和Config Server兩部分,Config Server 實現配置文件的存儲,對外以接口的形式提供獲取配置文件,然后Config  Client通過這些接口獲取數據。

  • Disconf

    Disconf是由百度開源的分布式配置中心。其實很多一線大廠都有開源自己的配置中心組件,這里挑出百度的Disconf也是因為網上比較火熱,易用性也還不錯,項目也是托管在github上很容易找到。它是基于Zookeeper來實現配置變更后實時通知和生效的。

“微服務架構的配置中心有什么作用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

景宁| 台州市| 华安县| 辛集市| 子洲县| 谢通门县| 衡阳县| 原阳县| 盐池县| 梅州市| 南靖县| 青铜峡市| 凤山县| 普兰店市| 汝城县| 吴川市| 微博| 江陵县| 扶风县| 安泽县| 松江区| 永济市| 天津市| 灵武市| 岗巴县| 平南县| 新化县| 洛阳市| 达拉特旗| 江源县| 区。| 浦江县| 喀什市| 潮州市| 辽宁省| 赫章县| 吉林市| 临高县| 汝州市| 贞丰县| 石泉县|