欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Springcloud Config配置中心使用與相關(guān)介紹

 更新時(shí)間:2022年09月14日 16:46:32   作者:扎哇太棗糕  
springcloud config是一個(gè)解決分布式系統(tǒng)的配置管理方案。它包含了 client和server兩個(gè)部分,server端提供配置文件的存儲(chǔ)、以接口的形式將配置文件的內(nèi)容提供出去,client端通過(guò)接口獲取數(shù)據(jù)、并依據(jù)此數(shù)據(jù)初始化自己的應(yīng)用

Springcloud Config

什么是springcloud Config

  簡(jiǎn)單來(lái)說(shuō),Spring Cloud Config就是我們通常意義上的配置中心,也就是微服務(wù)項(xiàng)目中,每一個(gè)微服務(wù)都需要配置相應(yīng)的配置,如果不同服務(wù)的配置文件有相同的配置,如果這些相同配置需要修改的話就要全都修改一遍。如果使用springcloud Config的話就可以把原本放在本地文件的配置抽取出來(lái)放在中心服務(wù)器,從而能夠提供更好的管理、發(fā)布能力。

  Config分為服務(wù)端和客戶端,服務(wù)端也稱為分布式配置中心,它是一個(gè)獨(dú)立的微服務(wù)應(yīng)用,用來(lái)連接配置服務(wù)器并為客戶端提供獲取配置信息,加密/解密信息等訪接口??蛻舳藙t是通過(guò)指定的配置中心來(lái)管理應(yīng)用資源,以及與業(yè)務(wù)相關(guān)的配置內(nèi)容,并在啟動(dòng)的時(shí)候從配置中心獲取和加載配置信息配置服務(wù)器默認(rèn)采用git來(lái)存儲(chǔ)配置信息,這樣就有助于對(duì)環(huán)境配置進(jìn)行版本管理,并且可以通過(guò)git客戶端工具來(lái)方便的管理和訪問(wèn)配置內(nèi)容

config服務(wù)端的配置使用

  第一步: 外部config需要結(jié)合git使用,于是需要在github或者gitee創(chuàng)建一個(gè)倉(cāng)庫(kù),倉(cāng)庫(kù)里全都是各種配置文件,git遠(yuǎn)程倉(cāng)庫(kù)的創(chuàng)建這里就不多加贅述,創(chuàng)建完成之后需要獲取到倉(cāng)庫(kù)的鏈接

  第二步: 引入相關(guān)依賴

<!--Config服務(wù)端-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>

  第三步: 配置文件配置遠(yuǎn)程倉(cāng)庫(kù)地址

server:
  port: 3344

spring:
  application:
    name: cloud-config-center #注冊(cè)進(jìn)Eureka服務(wù)器的微服務(wù)名
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/mereign/springcloud-config.git    #GitHub或者Gitee上面的git倉(cāng)庫(kù)名字
          search-paths: #搜索目錄
            - springcloud-config
      label: master #讀取分支
      #啟動(dòng)成功后訪問(wèn)的路徑 http://ip:3344/{label}/{application}-{profile}.yml 能訪問(wèn)的配置文件 就表示成功了

eureka:
  client:
    service-url:
      defaultZone: http://localhost:7001/eureka

  啟動(dòng)配置中心微服務(wù)模塊,但是有些小伙伴會(huì)遇到這個(gè)異常Authentication is required but no CredentialsProvider has been registered,原因是你的遠(yuǎn)程倉(cāng)庫(kù)創(chuàng)建的私有的未開源,解決方案有兩種,一來(lái)就是把倉(cāng)庫(kù)修改為開源倉(cāng)庫(kù),還有就是使用下面的方法配置你github或者Gitee的用戶名和密碼

spring:
  application:
    name: cloud-config-center #注冊(cè)進(jìn)Eureka服務(wù)器的微服務(wù)名
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/mereign/springcloud-config.git    #GitHub或者Gitee上面的git倉(cāng)庫(kù)名字
          username: 自己的github或者Gitee用戶名
          password: 自己的github或者Gitee密碼

  第四步: 主程序類使用@EnableConfigServer注解標(biāo)注Config服務(wù)端

配置好了之后啟動(dòng)微服務(wù),可以使用url鏈接直接讀取文件里的內(nèi)容

config客戶端的相關(guān)問(wèn)題

config客戶端的配置使用

  第一步: 引入相關(guān)依賴,這里客戶端的依賴與服務(wù)端有所不同

<!--Config服務(wù)端-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>

  第二步: 配置文件,這里的客戶端的配置文件與之前的有所不同,命名為bootstrap.yml,主要區(qū)別為applicaiton.yml是用戶級(jí)的資源配置項(xiàng),而bootstrap.yml是系統(tǒng)級(jí)的,優(yōu)先級(jí)更加高

server:
  port: 3355

spring:
  application:
    name: config-client
  cloud:
    config:
      uri: http://localhost:3344  #配置中心的地址
      label: master  #分支名稱
      name: config  #配置文件名稱
      profile: dev  #讀取后綴名稱   上述三個(gè)綜合http://localhost:3344/master/config-dev.yml

#服務(wù)注冊(cè)到eureka地址
eureka:
  client:
    service-url:
      #設(shè)置與eureka server交互的地址查詢服務(wù)和注冊(cè)服務(wù)都需要依賴這個(gè)地址
      defaultZone: http://localhost:7001/eureka #單機(jī)版

  經(jīng)過(guò)上述配置,等服務(wù)啟動(dòng)開的時(shí)候,會(huì)3355服務(wù)端會(huì)到3344服務(wù)端獲取config-dev的配置內(nèi)容,3344服務(wù)端再來(lái)連接配置的GitHub或者Gitee倉(cāng)庫(kù)從而獲取config-dev的配置內(nèi)容

  第三步: 主程序類只需要標(biāo)注eureka客戶端即可,無(wú)需標(biāo)注config客戶端

  第四步: 服務(wù)端的url鏈接形式獲取內(nèi)容,而客戶端需要使用REST接口的形式獲取指定配置信息

@RestController
public class ConfigController {
    @Value("${config.info}")
    private String configInfo;
    @GetMapping("/configInfo")
    public String getConfigInfo() {
        return configInfo;
    }
}

啟動(dòng)主程序類(要先啟動(dòng)注冊(cè)中心eureka再啟動(dòng)config服務(wù)端,最后才能啟動(dòng)config客戶端),然后訪問(wèn)controller中的接口即可獲得相應(yīng)的配置信息

動(dòng)態(tài)刷新問(wèn)題

  當(dāng)遠(yuǎn)程倉(cāng)庫(kù)的配置修改之后,服務(wù)端通過(guò)url鏈接的形式獲取內(nèi)容是更新之后的,但是客戶端使用REST接口的形式獲取到的配置信息則是更新之前的,只有重啟config服務(wù)端微服務(wù)才能通過(guò)客戶端接口訪問(wèn)到更新之后的配置信息。

  為了解決上述的問(wèn)題,可以使用動(dòng)態(tài)刷新配置服務(wù)端微服務(wù),避免每次配置更新都需要重啟微服務(wù)才能獲取最新配置的痛點(diǎn)

  第一步: 引入actuator監(jiān)控技術(shù)依賴

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

  第二步: bootstrap.yml文件中暴露服務(wù)端點(diǎn),可以讓這個(gè)服務(wù)處于可被監(jiān)控狀態(tài)

# 暴露監(jiān)控端點(diǎn)
management:
  endpoints:
    web:
      exposure:
        include: "*"

  第三步: 在controller類上加@RefreshScope注解

  第四步: 發(fā)送post請(qǐng)求,手動(dòng)刷新3355服務(wù)端的監(jiān)控,這樣才能刷新config服務(wù)端獲取的配置信息

curl -X POST "http://localhost:3355/actuator/refresh

  第五步: 到此為止就config服務(wù)端就可以訪問(wèn)到遠(yuǎn)程倉(cāng)庫(kù)中最新的配置信息了

config客戶端的遺留問(wèn)題

  config客戶端動(dòng)態(tài)刷新解決了微服務(wù)每次都要重啟才能獲取最新配置信息的問(wèn)題,但是,如果config客戶端有很多呢?每次遠(yuǎn)程倉(cāng)庫(kù)配置修改都需要使用post請(qǐng)求手動(dòng)刷新所有的服務(wù)嗎?是不是也很麻煩,那么是否可以使用廣播的形式,一次通知處處生效,大范圍的自動(dòng)刷新,定制化的指定服務(wù)刷新?那就用到了下一篇博客學(xué)習(xí)的消息總線——springcloud Bus

到此這篇關(guān)于Springcloud Config配置中心使用與相關(guān)介紹的文章就介紹到這了,更多相關(guān)Springcloud Config配置中心內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中文件讀寫操作與常用技巧分享

    Java中文件讀寫操作與常用技巧分享

    在 Java I/O 體系中,F(xiàn)ile 類是唯一代表磁盤文件本身的對(duì)象,而File 類定義了一些與平臺(tái)無(wú)關(guān)的方法來(lái)操作文件,所以下面我們一起來(lái)看看 File 類有哪些操作方法吧
    2023-06-06
  • Resilience4J通過(guò)yml設(shè)置circuitBreaker的方法

    Resilience4J通過(guò)yml設(shè)置circuitBreaker的方法

    Resilience4j是一個(gè)輕量級(jí)、易于使用的容錯(cuò)庫(kù),其靈感來(lái)自Netflix Hystrix,但專為Java 8和函數(shù)式編程設(shè)計(jì),這篇文章主要介紹了Resilience4J通過(guò)yml設(shè)置circuitBreaker的方法,需要的朋友可以參考下
    2022-10-10
  • springboot2+es7使用RestHighLevelClient的示例代碼

    springboot2+es7使用RestHighLevelClient的示例代碼

    本文主要介紹了springboot2+es7使用RestHighLevelClient的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • springboot中的Application.properties常用配置

    springboot中的Application.properties常用配置

    這篇文章主要介紹了springboot中的Application.properties常用配置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Spring事務(wù)隔離級(jí)別簡(jiǎn)介及實(shí)例解析

    Spring事務(wù)隔離級(jí)別簡(jiǎn)介及實(shí)例解析

    這篇文章主要介紹了Spring事務(wù)隔離級(jí)別簡(jiǎn)介及實(shí)例解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Java AQS中ReentrantReadWriteLock讀寫鎖的使用

    Java AQS中ReentrantReadWriteLock讀寫鎖的使用

    ReentrantReadWriteLock稱為讀寫鎖,它提供一個(gè)讀鎖,支持多個(gè)線程共享同一把鎖。這篇文章主要講解一下ReentrantReadWriteLock的使用和應(yīng)用場(chǎng)景,感興趣的可以了解一下
    2023-02-02
  • 什么是Java多線程,如何實(shí)現(xiàn)

    什么是Java多線程,如何實(shí)現(xiàn)

    這篇文章主要給大家介紹了關(guān)于實(shí)現(xiàn)Java多線程的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧吧
    2021-11-11
  • SpringBoot去除內(nèi)嵌tomcat的實(shí)現(xiàn)

    SpringBoot去除內(nèi)嵌tomcat的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot去除內(nèi)嵌tomcat的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • java中Swing會(huì)奔跑的線程俠

    java中Swing會(huì)奔跑的線程俠

    本文通過(guò)代碼示例給大家詳細(xì)講解了java中Swing會(huì)奔跑的線程俠這個(gè)經(jīng)典的示例,有興趣的朋友學(xué)習(xí)下。
    2018-03-03
  • Java 反射修改類的常量值、靜態(tài)變量值、屬性值實(shí)例詳解

    Java 反射修改類的常量值、靜態(tài)變量值、屬性值實(shí)例詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于Java 反射修改類的常量值、靜態(tài)變量值、屬性值實(shí)例詳解內(nèi)容,有興趣的讀者們可以跟著學(xué)習(xí)下。
    2021-01-01

最新評(píng)論