SpringCloud-Config分布式配置代碼示例
概述
Spring Cloud Config為分布式系統(tǒng)中的外部化配置提供服務(wù)器端和客戶(hù)端支持。使用Config Server,您可以在中心位置管理所有環(huán)境中應(yīng)用程序的外部屬性??蛻?hù)端和服務(wù)器上的概念都與Spring Environment和PropertySource抽象映射相同,因此它們非常適合Spring應(yīng)用程序,但可以與以任何語(yǔ)言運(yùn)行的任何應(yīng)用程序一起使用。
在應(yīng)用程序從開(kāi)發(fā)人員到測(cè)試人員再到生產(chǎn)人員的整個(gè)部署過(guò)程中,您可以管理這些環(huán)境之間的配置,并確保應(yīng)用程序具有它們遷移時(shí)所需的一切。服務(wù)器存儲(chǔ)后端的默認(rèn)實(shí)現(xiàn)使用git,因此它輕松支持帶標(biāo)簽的配置環(huán)境版本,并且可以通過(guò)各種工具來(lái)訪(fǎng)問(wèn)這些內(nèi)容來(lái)管理內(nèi)容。添加替代實(shí)現(xiàn)并將其插入Spring配置很容易。
•去碼云創(chuàng)建倉(cāng)庫(kù),克隆到本地文件夾,配置application.yml文件
•application.yml配置
spring: profiles: active: dev --- spring: profiles: dev application: name: springcloud-config-dev --- spring: profiles: test application: name: springcloud-config-test
•把這個(gè)文件提交到碼云上,總共四步。
第一步:
把文件添加到暫存區(qū)
git add
在這里添加
第二步:
查看狀態(tài)
git status
第三步:
提交
git commit -m "fist commit" //fist commit是描述信息
第四步:
push到遠(yuǎn)程
git push origin master
測(cè)試:成功
•創(chuàng)建服務(wù)端Server項(xiàng)目
•導(dǎo)入依賴(lài)
<dependencies> <!--config--> <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-config-server --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> <version>2.1.1.RELEASE</version> </dependency> <!--actuator完善監(jiān)控信息--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
•編寫(xiě)配置
server: port: 3344 spring: application: name: springcloud-congi-server #連接遠(yuǎn)程倉(cāng)庫(kù) cloud: config: server: git: uri: https://gitee.com/springandspring/springcloud-config.git #這里的uri是碼云上自己創(chuàng)建的倉(cāng)庫(kù)HTTPS下載的地址
•開(kāi)啟功能
@EnableConfigServer
•測(cè)試
•更上面一樣
•config-client配置
spring: profiles: active: dev --- server: port: 8201 #spring的配置 spring: profiles: dev application: name: springcloud-provider-dept #Eureka的配置,服務(wù)注冊(cè)到哪里 eureka: client: service-url: defaultZone: http://eureka7001.com:7001/eureka/ --- server: port: 8202 #spring的配置 spring: profiles: test application: name: springcloud-provider-dept #Eureka的配置,服務(wù)注冊(cè)到哪里 eureka: client: service-url: defaultZone: http://eureka7001.com:7001/eureka/
•執(zhí)行上面的四步,push到遠(yuǎn)程
•創(chuàng)建一個(gè)client客戶(hù)端新項(xiàng)目
•導(dǎo)入依賴(lài)
<dependencies> <!--config--> <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-config --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> <version>2.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
•編寫(xiě)bootstrap配置
#系統(tǒng)級(jí)別的配置 比用戶(hù)級(jí)別設(shè)置先執(zhí)行 spring: cloud: config: profile: dev #生產(chǎn)環(huán)境 name: config-client #需要從git上讀取的資源名稱(chēng),不需要后綴 label: master uri: http://localhost:3344 #連接服務(wù)端的地址 #相當(dāng)于http://localhost:3344/master/config-client-dev/master
編寫(xiě)application配置
#用戶(hù)級(jí)別的設(shè)置 spring: application: name: springcloud-config-client-3355
•編寫(xiě)啟動(dòng)類(lèi)
•編寫(xiě)Controller
@RestController public class ConfigClientController { @Value("${spring.application.name}") private String applicationName; @Value("${eureka.client.service-url.defaultZone}") private String eurekaServer; @Value("${server.port}") private String port; @RequestMapping("/config") //請(qǐng)求這個(gè)路徑獲取config-client配置里面的信息 public String getConfig(){ return "applicationName"+applicationName+ "eurekaServer"+eurekaServer+ "port"+port; } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 解決SpringCloud Config結(jié)合github無(wú)法讀取配置的問(wèn)題
- springCloud config本地配置操作
- SpringCloud Config配置加密解密用法解析
- SpringCloud Config使用本地倉(cāng)庫(kù)及map注入
- SpringCloud配置中心Config過(guò)程解析
- Springcloud Config支持本地配置文件的方法示例
- springcloud config配置讀取優(yōu)先級(jí)過(guò)程詳解
- 詳解SpringCloud Config配置中心
- SpringCloud之分布式配置中心Spring Cloud Config高可用配置實(shí)例代碼
- SpringCloud微服務(wù)之Config知識(shí)總結(jié)
相關(guān)文章
Spring項(xiàng)目使用Maven和BCrypt實(shí)現(xiàn)修改密碼功能方式
在數(shù)字時(shí)代,信息安全尤其是密碼安全至關(guān)重要,本文通過(guò)實(shí)例探討如何在Spring項(xiàng)目中利用Maven和BCrypt實(shí)現(xiàn)一個(gè)安全的密碼修改功能,我們將從環(huán)境搭建到編寫(xiě)核心業(yè)務(wù)邏輯,再到完成功能測(cè)試,確保每一步都遵循最佳安全實(shí)踐,通過(guò)本文,你將了解到密碼安全的重要性2024-10-10spring boot 錯(cuò)誤頁(yè)面配置解決方案
這篇文章主要介紹了spring boot 錯(cuò)誤頁(yè)面配置解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10java使用TimeZone將中國(guó)標(biāo)準(zhǔn)時(shí)間轉(zhuǎn)成時(shí)區(qū)值
這篇文章主要介紹了java使用TimeZone將中國(guó)標(biāo)準(zhǔn)時(shí)間轉(zhuǎn)成時(shí)區(qū)值的相關(guān)資料,需要的朋友可以參考下2023-11-11Java+Redis撤銷(xiāo)重做功能實(shí)現(xiàn)
這篇文章主要介紹了Java+Redis實(shí)現(xiàn)撤銷(xiāo)重做功能,需要考慮撤銷(xiāo)的最大步數(shù),撤銷(xiāo)之后穿插著其他操作則不能再重做,所以引入分布式鎖Redisson進(jìn)行加鎖處理,防止對(duì)圖表的操作有并發(fā)請(qǐng)求導(dǎo)致處理撤銷(xiāo)邏輯混亂,感興趣的朋友跟隨小編一起看看吧2023-05-05java實(shí)現(xiàn)簡(jiǎn)單的俄羅斯方塊
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單的俄羅斯方塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01Java導(dǎo)出oracle表結(jié)構(gòu)實(shí)例詳解
這篇文章主要介紹了 Java導(dǎo)出oracle表結(jié)構(gòu)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03