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

溫馨提示×

溫馨提示×

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

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

Spring Cloud Config客戶端怎么配置

發布時間:2021-12-07 14:38:39 來源:億速云 閱讀:197 作者:iii 欄目:大數據

本篇內容主要講解“Spring Cloud Config客戶端怎么配置”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Spring Cloud Config客戶端怎么配置”吧!

服務化配置中心

在前面幾篇關于Spring Cloud Config配置中心的文章中,我們在config-client中配置config-server地址的時候都是直接將地址寫死,這種方式顯然不夠靈活,有的小伙伴可能已經想到了,這里我們可以結合eureka注冊中心,然后在配置的時候直接使用服務名即可,OK,那我們對之前的項目稍加改造吧。

config-server改造

這里的改造都是非常簡單的,服務端改造和客戶端改造都是分三步走:1.添加依賴;2.添加注解;3.修改application.properties.

首先我們在config-server中添加如下依賴:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>

然后在config-server的入口類上添加@EnableDiscoveryClient注解,表示這是一個Eureka客戶端,如下:

@SpringBootApplication
@EnableConfigServer
@EnableDiscoveryClient
public class ConfigServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConfigServerApplication.class, args);
    }
}

最后在application.properties中配置eureka注冊中心地址:

eureka.client.service-url.defaultZone=http://localhost:1111/eureka/

至此,我們的config-server就配置成功了。

config-client改造

config-client改造第一步也是先添加依賴,如下:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>

然后入口類添加@EnableDiscoveryClient注解,如下:

@SpringBootApplication
@EnableDiscoveryClient
public class ConfigClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConfigClientApplication.class, args);
    }
}

最后修改配置文件,如下:

spring.application.name=app
# dev根據具體情況來修改
spring.cloud.config.profile=dev
spring.cloud.config.label=master
eureka.client.service-url.defaultZone=http://localhost:1111/eureka/
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.service-id=config-server
server.port=2008

關于這個配置文件我說如下三點:

1.eureka.client.service-url.defaultZone設置了注冊中心的地址,將config-client注冊到eureka注冊中心中去
2.spring.cloud.config.discovery.enabled表示開啟通過服務名來訪問config-server
3.spring.cloud.config.discovery.service-id=config-server則表示config-server的服務名

測試

OK,經過以上的改造之后,此時我們分別啟動eureka服務注冊中心、config-server、config-client,然后訪問http://localhost:1111,可以看到兩個應用都已經注冊成功了:  

Spring Cloud Config客戶端怎么配置  

然后繼續測試config-client的/sang接口,結果如下:

Spring Cloud Config客戶端怎么配置  

沒問題。

好了,服務化配置中心構建成功。

失敗快速響應

不作任何額外配置的情況下,失敗響應有點遲鈍,舉個簡單的例子,關掉config-server,我們直接啟動config-client,此時啟動會報錯,但是報錯時間較晚,報錯的時候系統已經打印了許多啟動日志了,如果我們希望在啟動失敗時能夠快速響應,方式很簡單,config-client中添加如下配置即可:

spring.cloud.config.fail-fast=true

此時不啟動config-server直接啟動config-client依然會報錯,但是我們看到報錯時間較早,系統都沒打印幾條啟動日志。

重試機制

如果由于網絡抖動等原因導致config-client在啟動時候訪問config-server沒有訪問成功從而報錯,這顯然是不劃算的,遇到這種情況我們希望config-client最好能重試幾次,重試機制在這里也是受支持的,添加重試機制的方式很簡單,引入如下兩個依賴:

<dependency>
    <groupId>org.springframework.retry</groupId>
    <artifactId>spring-retry</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>

引入依賴就OK了,不用做任何額外配置(當然要確保失敗快速響應已開啟),此時我們再嘗試不啟動config-server直接啟動config-client,得到的啟動日志如下:

Spring Cloud Config客戶端怎么配置  

我們看到,config-client一共嘗試了六次去訪問config-server,六次都失敗了才拋異常。

和重試機制相關的配置有如下四個:

# 配置重試次數,默認為6
spring.cloud.config.retry.max-attempts=6
# 間隔乘數,默認1.1
spring.cloud.config.retry.multiplier=1.1
# 初始重試間隔時間,默認1000ms
spring.cloud.config.retry.initial-interval=1000
# 最大間隔時間,默認2000ms
spring.cloud.config.retry.max-interval=2000

動態刷新配置

有的時候,我動態的更新了Git倉庫中的配置文件,那么我如何讓我的config-client能夠及時感知到呢?方式很簡單,首先在config-client中添加如下依賴:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

該依賴中包含了/refresh端點的實現,我們將利用這個端點來刷新配置信息。然后需要在application.properties中配置忽略權限攔截:

management.security.enabled=false

OK,配置好之后,啟動eureka注冊中心,config-server和config-client,訪問http://localhost:2008/sang,結果如下:  

Spring Cloud Config客戶端怎么配置  

此時我利用Git客戶端工具,將app-dev.properties中的內容修改一下,修改成功之后,先用POST請求訪問http://localhost:2008/refresh地址,結果如下:  

Spring Cloud Config客戶端怎么配置  

然后再訪問http://localhost:2008/sang,結果如下:  

Spring Cloud Config客戶端怎么配置

我們看到配置文件已經更新了。

到此,相信大家對“Spring Cloud Config客戶端怎么配置”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

蒙山县| 郑州市| 大港区| 高雄县| 外汇| 甘孜县| 东源县| 原平市| 游戏| 南岸区| 鲜城| 鹤壁市| 乐业县| 阿克| 顺义区| 寿光市| 大石桥市| 绥阳县| 太保市| 麦盖提县| 清水河县| 绥化市| 闽侯县| 绥中县| 句容市| 太和县| 宜昌市| 柳河县| 关岭| 晴隆县| 社旗县| 鄂托克旗| 邢台县| 洞口县| 滕州市| 康平县| 库车县| 定南县| 衡水市| 龙口市| 当雄县|