最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springcloud Config配置中心使用與相關介紹

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

Springcloud Config

什么是springcloud Config

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

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

config服務端的配置使用

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

  第二步: 引入相關依賴

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

  第三步: 配置文件配置遠程倉庫地址

server:
  port: 3344

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

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

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

spring:
  application:
    name: cloud-config-center #注冊進Eureka服務器的微服務名
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/mereign/springcloud-config.git    #GitHub或者Gitee上面的git倉庫名字
          username: 自己的github或者Gitee用戶名
          password: 自己的github或者Gitee密碼

  第四步: 主程序類使用@EnableConfigServer注解標注Config服務端

配置好了之后啟動微服務,可以使用url鏈接直接讀取文件里的內容

config客戶端的相關問題

config客戶端的配置使用

  第一步: 引入相關依賴,這里客戶端的依賴與服務端有所不同

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

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

server:
  port: 3355

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

#服務注冊到eureka地址
eureka:
  client:
    service-url:
      #設置與eureka server交互的地址查詢服務和注冊服務都需要依賴這個地址
      defaultZone: http://localhost:7001/eureka #單機版

  經過上述配置,等服務啟動開的時候,會3355服務端會到3344服務端獲取config-dev的配置內容,3344服務端再來連接配置的GitHub或者Gitee倉庫從而獲取config-dev的配置內容

  第三步: 主程序類只需要標注eureka客戶端即可,無需標注config客戶端

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

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

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

動態(tài)刷新問題

  當遠程倉庫的配置修改之后,服務端通過url鏈接的形式獲取內容是更新之后的,但是客戶端使用REST接口的形式獲取到的配置信息則是更新之前的,只有重啟config服務端微服務才能通過客戶端接口訪問到更新之后的配置信息。

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

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

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

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

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

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

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

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

  第五步: 到此為止就config服務端就可以訪問到遠程倉庫中最新的配置信息了

config客戶端的遺留問題

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

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

相關文章

  • java報錯之springboot3+vue2項目web服務層報錯總結

    java報錯之springboot3+vue2項目web服務層報錯總結

    java入門學習,隨手記錄一下開發(fā)過程中產生的報錯,有些錯誤是網上搜索再加上自己嘗試,隨手引用了一些其他人的記錄,也是留給自己看的,或是希望能對其他初學者有幫助

    2023-06-06
  • 關于BeanUtils.copyProperties(source, target)的使用

    關于BeanUtils.copyProperties(source, target)的使用

    這篇文章主要介紹了關于BeanUtils.copyProperties(source, target)的使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java?SpringBoot項目如何優(yōu)雅的實現操作日志記錄

    Java?SpringBoot項目如何優(yōu)雅的實現操作日志記錄

    這篇文章主要介紹了Java?SpringBoot項目如何優(yōu)雅的實現操作日志記錄,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • Mabitis中的#與$符號區(qū)別及用法介紹

    Mabitis中的#與$符號區(qū)別及用法介紹

    這篇文章主要介紹了Mabitis中的#與$符號區(qū)別,需要的朋友可以參考下
    2017-02-02
  • 分析JVM源碼之Thread.interrupt系統(tǒng)級別線程打斷

    分析JVM源碼之Thread.interrupt系統(tǒng)級別線程打斷

    在java編程中,我們經常會調用Thread.sleep()方法使得線程停止運行一段時間,而Thread類中也提供了interrupt方法供我們去主動打斷一個線程。那么線程掛起和打斷的本質究竟是什么,本文就此問題作一個探究
    2021-06-06
  • MAC下如何設置JDK環(huán)境變量

    MAC下如何設置JDK環(huán)境變量

    這篇文章主要介紹了MAC下如何設置JDK環(huán)境變量問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 簡單談談java中final,finally,finalize的區(qū)別

    簡單談談java中final,finally,finalize的區(qū)別

    Java中final、finally、finalize的區(qū)別與用法,困擾了不少學習者,下面我們就這個問題進行一些探討,希望對大家的學習有所幫助。
    2016-05-05
  • Netty的Handler鏈調用機制及如何組織詳解

    Netty的Handler鏈調用機制及如何組織詳解

    這篇文章主要為大家介紹了Netty的Handler鏈調用機制及如何組織示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Java實現小程序簡單五子棋

    Java實現小程序簡單五子棋

    這篇文章主要介紹了利用Java實現小程序簡單五子棋,本程序適用于java初學者鞏固類與對象、事件響應、awt包中各種工具的相關概念以及對邏輯能力的鍛煉,下面來看具體實現吧
    2021-12-12
  • Java如何獲取相對路徑文件

    Java如何獲取相對路徑文件

    這篇文章主要介紹了Java如何獲取相對路徑文件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評論

武威市| 巫溪县| 双鸭山市| 武义县| 勃利县| 永德县| 泸西县| 东宁县| 新闻| 吉木萨尔县| 屯留县| 萝北县| 益阳市| 格尔木市| 阳高县| 皮山县| 定边县| 阜康市| 峡江县| 盱眙县| 平罗县| 南昌市| 八宿县| 周宁县| 天全县| 定西市| 锡林郭勒盟| 阿坝| 高唐县| 巫溪县| 永川市| 张家港市| 彭山县| 甘孜| 民乐县| 平果县| 广平县| 大化| 荃湾区| 永仁县| 庆云县|