摘要:第篇配置管理微服務(wù)一大致介紹在講到配置時,不得不說提供了一套解決分布式的配置管理方案,它既包含了服務(wù)端也包含了客戶端將配置文件當(dāng)作源代碼一樣存儲到或者服務(wù)器上,雖然說這樣沒有什么管理界面配置啥的,既然能用上傳上去,那也能做成管理界面,只是
SpringCloud(第 028 篇)ConfigServer 配置管理微服務(wù)
-
一、大致介紹1、在講到配置時,不得不說 SpringCloud 提供了一套解決分布式的配置管理方案,它既包含了服務(wù)端ConfigServer也包含了客戶端ConfigClient; 2、SpringCloud 將配置文件當(dāng)作源代碼一樣存儲到 git 或者 svn 服務(wù)器上,雖然說這樣沒有什么管理界面配置啥的,既然能用 svn 上傳上去,那也能做成管理界面,只是花的工作量多少而已了,而既然都說了是配置,那就是只要會稍微學(xué)些git或者svn的提交文件方式,基本上任何都極易掌握; 3、當(dāng)我們把配置文件放在 git 上的時候,我們?nèi)绻龅礁碌脑?,我們需要借助?git 網(wǎng)頁上的 push 操作來觸發(fā)更新操作; 4、說的有點多了,那么我們今天就來小試牛刀,簡單試試 ConfigServer 是如何和 Git 服務(wù)器相關(guān)聯(lián)存儲配置的,至于更新機制操作的話,請看后序章節(jié)講解; 5、這里還順便列舉下配置路徑的規(guī)則: /**************************************************************************************** * 配置服務(wù)的路勁規(guī)則: * * /{application}/{profile}[/{label}] * /{application}-{profile}.yml * /{label}/{application}-{profile}.yml * /{application}-{profile}.properties * /{label}/{application}-{profile}.properties ****************************************************************************************/二、實現(xiàn)步驟 2.1 添加 maven 引用包
2.2 添加應(yīng)用配置文件(springms-config-serversrcmainresourcesapplication.yml)4.0.0 springms-config-server 1.0-SNAPSHOT jar com.springms.cloud springms-spring-cloud 1.0-SNAPSHOT org.springframework.cloud spring-cloud-config-server
server: port: 8220 spring: application: name: springms-config-server cloud: config: server: git: uri: https://gitee.com/ylimhhmily/OpenSource_CustomCircleLineProgressBar2.3 添加sidecar微服務(wù)啟動類(springms-config-serversrcmainjavacomspringmscloudMsConfigServerApplication.java)
package com.springms.cloud; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.config.server.EnableConfigServer; /** * ConfigServer 配置管理微服務(wù)。 * * @author hmilyylimh * * @version 0.0.1 * * @date 2017/9/28 * */ @SpringBootApplication @EnableConfigServer public class MsConfigServerApplication { public static void main(String[] args) { SpringApplication.run(MsConfigServerApplication.class, args); System.out.println("【【【【【【 ConfigServer微服務(wù) 】】】】】】已啟動."); } }三、測試
/**************************************************************************************** 一、ConfigServer 配置管理微服務(wù)(正常測試)(添加一個配置文件 application.yml 來做測試): 1、注解:EnableConfigServer 2、編輯 application.yml 文件,注意只填寫 cloud.config.server.git.uri 屬性; 3、啟動 springms-config-server 模塊服務(wù),啟動1個端口; 4、在瀏覽器輸入地址 http://localhost:8220/abc-default.properties 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-default); 5、在瀏覽器輸入地址 http://localhost:8220/abc-default.yml 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-default); 6、在瀏覽器輸入地址 http://localhost:8220/abc-hehui.yml 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-default); 7、在瀏覽器輸入地址 http://localhost:8220/aaa-bbb.yml 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-default); 8、在瀏覽器輸入地址 http://localhost:8220/aaa-bbb.properties 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-default); 總結(jié)一:按照 /{application}-{profile}.yml 和 /{application}-{profile}.properties 這種規(guī)則來測試的,當(dāng)找不到路徑的話,會默認(rèn)找到 application.yml 文件讀取字段內(nèi)容; 9、在瀏覽器輸入地址 http://localhost:8220/master/abc-default.properties 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-default); 10、在瀏覽器輸入地址 http://localhost:8220/master/abc-default.yml 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-default); 11、在瀏覽器輸入地址 http://localhost:8220/master/abc-hehui.yml 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-default); 12、在瀏覽器輸入地址 http://localhost:8220/master/aaa-bbb.yml 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-default); 13、在瀏覽器輸入地址 http://localhost:8220/master/aaa-bbb.properties 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-default); 14、在瀏覽器輸入地址 http://localhost:8220/springms-config-server-dev.yml 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-default); 總結(jié)二:按照 /{label}/{application}-{profile}.yml 和 /{label}/{application}-{profile}.properties 這種規(guī)則來測試,當(dāng)找不到路徑的話,會默認(rèn)找到 application.yml 文件讀取字段內(nèi)容; 總結(jié)三:所以不管怎么測試路徑規(guī)則,找不到的話,反正也不會拋什么異常,反正一律會映射到 application.yml 文件上; ****************************************************************************************/ /**************************************************************************************** 二、ConfigServer 配置管理微服務(wù)(再添加一個配置文件 foobar-dev.yml 來做測試): 1、注解:EnableConfigServer 2、編輯 application.yml 文件,注意只填寫 cloud.config.server.git.uri 屬性; 3、啟動 springms-config-server 模塊服務(wù),啟動1個端口; 4、在瀏覽器輸入地址 http://localhost:8220/foobar-dev.yml 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-dev); 5、在瀏覽器輸入地址 http://localhost:8220/foobar-dev.properties 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-dev); 6、在瀏覽器輸入地址 http://localhost:8220/master/foobar-dev.yml 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-dev); 7、在瀏覽器輸入地址 http://localhost:8220/master/foobar-dev.properties 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-dev); 總結(jié)一:按照 /{application}-{profile}.yml 和 /{application}-{profile}.properties /{label}/{application}-{profile}.yml 和 /{label}/{application}-{profile}.properties 這種規(guī)則來測試的,會找到 foobar-dev.yml 文件,既然找到了 foobar-dev.yml 文件的話,那自然就沒 application.yml 文件什么事情了; 8、在瀏覽器輸入地址 http://localhost:8220/foobar-aaa.yml 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-default); 9、在瀏覽器輸入地址 http://localhost:8220/foobar-aaa.properties 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-default); 10、在瀏覽器輸入地址 http://localhost:8220/master/foobar-aaa.yml 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-default); 11、在瀏覽器輸入地址 http://localhost:8220/master/foobar-aaa.properties 正常情況下會輸出配置文件的內(nèi)容(內(nèi)容為:profile: profile-default); 總結(jié)二:將dev改成aaa的話,按照配置服務(wù)的路徑規(guī)則配置,當(dāng)路徑中的配置文件不再url的目錄下的話,那么則會找到默認(rèn)配置的文件 application.yml 來加載顯示。 ****************************************************************************************/四、下載地址
https://gitee.com/ylimhhmily/SpringCloudTutorial.git
SpringCloudTutorial交流QQ群: 235322432
SpringCloudTutorial交流微信群: 微信溝通群二維碼圖片鏈接
歡迎關(guān)注,您的肯定是對我最大的支持!!!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/67619.html
摘要:第篇配置服務(wù)端設(shè)置安全認(rèn)證一大致介紹前面提到的加密內(nèi)容,雖然說對內(nèi)容進(jìn)行了加密,但是為了更安全的安全隔離,服務(wù)與服務(wù)之間也需要設(shè)置簡單的安全認(rèn)證那么在本章節(jié)我們講解下如何配置服務(wù)端之間的簡單認(rèn)證,的強大之處在于對認(rèn)證這塊僅僅配置一下即可然 SpringCloud(第 034 篇)配置服務(wù)端ConfigServer設(shè)置安全認(rèn)證 - 一、大致介紹 1、前面提到的加密內(nèi)容,雖然說對內(nèi)容進(jìn)行了...
摘要:添加應(yīng)用啟動類單點手動動態(tài)刷新配置。配置客戶端服務(wù)想要實現(xiàn)自動刷新配置的話,一端是不要做任何處理,只需要在一端處理即可。 SpringCloud(第 036 篇)單點手動動態(tài)刷新ConfigClient配置 - 一、大致介紹 1、當(dāng)ConfigServer啟動后,假如我們新增配置內(nèi)容的話,是不是要重新啟動一下ConfigServer呢? 2、答案肯定是不需要重新啟動的,因為 Sprin...
摘要:添加應(yīng)用啟動類通過半自動刷新配置。配置客戶端服務(wù)想要實現(xiàn)自動刷新配置的話,一端是不要做任何處理,只需要在一端處理即可。 SpringCloud(第 037 篇)通過bus/refresh半自動刷新ConfigClient配置 - 一、大致介紹 1、上章節(jié)我們講到了手動刷新配置,但是我們假設(shè)如果微服務(wù)一多的話,那么我們是不是需要對每臺服務(wù)進(jìn)行手動刷新呢? 2、答案肯定是不需要的,我們也可...
SpringCloud(第 029 篇)配置客戶端 ConfigClient 接入配置服務(wù)端 - 一、大致介紹 1、有配置服務(wù)端,那么勢必就會有與之對應(yīng)的客戶端,SpringCloud 文檔中集成也非常簡單; 2、但是這里有點需要注意,就是 bootstrap 配置文件,官方建議我們在bootstrap中放置不更改的屬性,我們同樣也需要在這里做一些簡單不易于改變的配置; 3、這里還順便列舉下配置...
摘要:年月阿里巴巴高級技術(shù)專家許真恩慕義發(fā)布了首個開源版本,作為的開源實現(xiàn)截止目前已經(jīng)更新到了的大版本,并且支持大規(guī)模生產(chǎn)版本。支持目前幾乎所有主流的微服務(wù)生態(tài)體系。 前言 6月份阿里開源的Nacos出了1.0.1版本,從去年7月份第一個release版本到現(xiàn)在一直在默默關(guān)注 官方的版本規(guī)劃為:Nacos從0.8.0開始支持生產(chǎn)可用,1.0版本可大規(guī)模生產(chǎn)可用,2.0版本接入k8s、Spri...
閱讀 2333·2023-04-26 00:28
閱讀 3080·2019-08-30 15:55
閱讀 2752·2019-08-30 12:47
閱讀 1562·2019-08-29 11:04
閱讀 3190·2019-08-28 18:14
閱讀 954·2019-08-28 18:11
閱讀 1682·2019-08-26 18:36
閱讀 3397·2019-08-23 18:21