本文主要介紹如何在Spring Cloud應用中集成MSE Nacos配置中心,實現配置的統一管理和動態刷新。
背景信息
在微服務架構中,傳統的硬編碼或靜態配置文件的管理方式,會因為微服務實例眾多且跨多環境部署(如開發、測試、生產等),導致配置不一致、更新不及時等問題。引入配置中心可以有效地解決這些問題,實現配置信息的集中存儲、統一管理和動態調整,確保不同環境和實例之間的配置隔離與同步,同時提高配置更新的靈活性和安全性。
前提條件
方案概覽
通過在Spring Cloud應用中集成MSE Nacos配置中心,前后兩次在MSE Nacos控制臺發布配置參數useLocalCache=true
、useLocalCache=false
,并通過命令行終端請求應用中相關配置接口獲取useLocalCache
值,根據兩次請求結果,幫助您體驗MSE Nacos配置中心的動態刷新功能。
創建并發布配置:通過控制臺新建一個配置并發布。
集成MSE Nacos:通過簡單的代碼示例搭建 Spring Cloud 應用,展示如何通過MSE Nacos配置中心來管理應用的配置。
驗證動態刷新:通過在控制臺編輯配置內容,動態變更服務的配置。
步驟一:創建并發布配置
登錄MSE注冊配置中心管理控制臺,并在頂部菜單欄選擇地域。
單擊目標實例名稱。
在左側導航欄,選擇
。在配置列表上方選擇您創建的命名空間。
單擊創建配置,在創建配置面板中填寫如下配置信息:
說明本文僅提供配置內容的示例參考,您可以根據業務需要創建相關配置,關于配置參數的詳細說明,請參考創建配置。
配置完成后單擊發布,您可以在配置列表中找到新建的配置。
步驟二:集成MSE Nacos
(可選)若您尚未構建Spring Cloud應用,可以參照本示例來幫助您快速搭建一個簡單應用。
在Spring Cloud應用的pom.xml文件中添加Nacos配置中心依賴:
說明下述依賴版本僅供參考,您可以根據自身應用所依賴的Spring Boot和Spring Cloud版本選擇兼容的Nacos配置中心依賴版本。
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2021.0.4.0</version> </dependency>
在Spring Cloud應用的配置文件中添加Nacos相關配置,配置內容如下:
重要當您在應用中需要配置指定的 namespace 時,填入的是命名空間ID。
# 您的Nacos服務器的地址 spring.cloud.nacos.config.server-addr=mse-XXX.nacos-ans.mse.aliyuncs.com:8848 # 默認組名 spring.cloud.nacos.config.group=DEFAULT_GROUP # 文件擴展名,默認為properties spring.cloud.nacos.config.file-extension=properties # 指定MSE Nacos命名空間, 當訪問public默認命名空間時設置為空值或者不配置此項。 spring.cloud.nacos.config.namespace=24075300-XXXX-XXXX-XXXX-0c17aa9f744b # 導入特定的配置文件 spring.config.import=nacos:mse-nacos-config-client.properties?group=DEFAULT_GROUP&refreshEnabled=true
在實例列表頁面,可以查看MSE Nacos的外網訪問地址,格式為
mse.XX.nacos.mse.aliyuncs.com
。修改后,您需要通過
mvn clean package
命令重新編譯打包。
步驟三:驗證動態刷新
以下驗證操作是基于本文提供的Spring Cloud應用示例和配置示例進行的,如果您使用的是自己的Spring Cloud應用,或根據業務需要自定義MSE Nacos配置中心的配置,可參考如下步驟自行驗證配置的動態刷新。
啟動Spring Cloud應用,執行啟動類中的main函數。
在命令行終端執行如下命令,獲取MSE Nacos配置中心的
useLocalCache
配置,響應結果為true
。# 根據您服務的ip和端口號進行修改 curl http://服務的ip:18083/getConfig
在控制臺上編輯該配置并重新發布,將配置內容修改為
useLocalCache=false
。再次執行上述命令,此時返回內容為
false
,說明應用無需重啟,即可從MSE Nacos中獲取到useLocalCache
的最新數據。
相關文檔
如果您想從開源自建Nacos配置中心遷移到MSE Nacos配置中心,請參見自建Nacos配置中心遷移到MSE Nacos。
如果您想了解服務注冊發現功能,請參見在Spring Cloud應用中接入MSE Nacos作為服務注冊中心
如果您想實現流量網關和微服務網關功能合并,請參見創建MSE云原生網關。
如果您想了解服務治理和流量防護,實現中間件與業務解耦相關的功能,請參見開通MSE微服務治理。
如果您想了解分布式協調解決方案,提升系統高可用能力,請參見分布式任務調度。