1. 程式人生 > 實用技巧 >【springcloud alibaba】配置中心之nacos

【springcloud alibaba】配置中心之nacos

接著上一篇的【springcloud alibaba】註冊中心之nacos,這一篇主要講nacos的配置中心能力。nacos的叢集部署及持久化請看上一篇

--------------------------------------------------目錄-----------------------------------------------

1.微服務配置中心是什麼

2.微服務為什麼配置中心

  2.1 傳統專案中的配置處理,一般可能存在的問題

  2.2 微服務配置中心

3.常見的微服務中心對比

4.nacos配置中心的使用

5.如何技術選型

6.nacos配置中心原理

--------------------------------------正文 -----------------------------------------------

1.微服務配置中心是什麼

  「配置中心」,顧名思義,就是用來統一管理微服務專案中所有配置的系統。一個規範和成熟網際網路研發團隊,微服務專案中多般使用到配置中心。

2.微服務為什麼配置中心

  2.1 傳統專案中的配置處理,一般可能存在的問題

    2.1.1 靜態化配置。這種做法雖然簡單,但如果引數需要修改,就非常的不靈活,甚至需要重啟執行中的專案才能生效。
    2.1.2 配置檔案無法區分環境。(springboot專案profile支援環境區分)
    2.1.3 配置檔案過於分散。如果一個專案中存在多個邏輯模組獨立部署,每個模組所使用的配置內容又不相同,傳統的做法是會在每一個模組中都放一個配置檔案,甚至不同模組的配置檔案格式還不一樣。那麼長期的結果就是配置檔案過於分散混亂,難以管理。
    2.1.4 配置修改無法追溯。(配置放在程式碼中,通過git/svn提交記錄可追溯)

  2.2 微服務配置中心 

    「配置中心」的思路就是把專案中各種配置、各種引數、各種開關,全部都放到一個集中的地方進行統一管理,並提供一套標準的介面。
    簡單來說:
      當各微服務應用需要載入配置資訊時(例:啟動時),會到配置中心獲取「配置中心」中的配置資訊;
      當需要實時更新執行中的應用的配置時,在置配中心更新對應微服務應用的配置,之後或通過配置中心將配置的變更資訊推送給微服務應用,或微服務應用主動到配置中心拉取變更的配置資訊。
      即能做到不停機動態變更配置資訊。

  即:微服務配置中心能提高配置的安全性(一些敏感資訊不需要放在程式碼的配置檔案中),能支援實時修改,不需要重啟應用;

3.常見的微服務中心對比

  對比源自:深度對比三種主流微服務配置中心

  功能特性對比總結

  這裡列一個表格總結一下三個產品的功能特點:

  

4.nacos配置中心的使用

5.如何技術選型

  理解需求、技術特點是技術選型的首要任務

  配置中心的維度(是否具備以下能力):
    1.配置集中管理:分散式配置中心最基礎的要求
    2.配置實效性:配置的修改實時生效要求
    3.安全性:應用和配置的管理具有完善的許可權管理機制,並且新增編輯和釋出環節,儘量減少了人工誤操作發生的概率,所有的操作都有審計日誌,方便追蹤
    4.配置修改簡單:提供的圖形化介面形式的配置管理
    5.部署簡單:依賴非常少
    6.開源:原始碼的重要性不言而喻,無論是解決問題、擴充套件新功能、或者後期代替官方渠道進而形成滿足自身特定需求的版本
    7.版本釋出管理:所有的配置釋出都有版本概念,從而可以方便地支援配置的回滾
    8.灰度釋出:支援配置的灰度釋出,比如點了釋出後,只對部分應用例項生效,等觀察一段時間沒問題後再推給所有應用例項
    9.許可權管理、釋出稽核、操作審計:
      應用和配置的管理都有完善的許可權管理機制,對配置的管理還分為了編輯和釋出兩個環節,從而減少人為的錯誤。
      所有的操作都有審計日誌,可以方便地追蹤問題
    10.提供開放平臺API

6.nacos配置中心原理

  https://www.cnblogs.com/jsjwk/p/10880671.html

參考:

  https://blog.csdn.net/crave_shy/article/details/81285217

  https://www.cnblogs.com/jsjwk/p/10880671.html

  http://www.360doc.com/content/19/0403/17/99071_826205359.shtml

  http://blog.didispace.com/spring-cloud-alibaba-3/