亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

springcloud的其他組件使用記錄之Config

Prasanta / 3116人閱讀

摘要:在使用的時候遇到一些坑,在這里記錄下,順便梳理下這個使用。使用來配合做一個配置文件管理,需要一個的服務端和一個的客戶端,服務端主要是和倉庫進行一個連接,而的客戶端是連接服務端來刷新配置服務的。刷新之后如下那個就是剛剛修改的內容

在使用Spring Config的時候遇到一些坑,在這里記錄下,順便梳理下這個使用。

Spring Cloud Config

使用Spring Config來配合git做一個配置文件管理,需要一個Config的服務端和一個Config的客戶端,服務端主要是和git倉庫進行一個連接,而config的客戶端是連接服務端來刷新配置服務的。
在Spring Cloud Config里面客戶端需要使用Spring4.0出現(xiàn)的一個注解@Value配合一起使用

Spring Config服務端

需要引入一下幾個文件:

     
            org.springframework.cloud
            spring-cloud-config-server
        
      
            org.springframework.cloud
            spring-cloud-config-server
        
         
            org.springframework.boot
            spring-boot-starter-web
        

新建一個application.yml

spring:
  application:
    name: microservice-server  # name可以隨便填寫,代表這個服務的ServiceId
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/somersames/sprincloud-config.git  # git的地址
          username: yourname
          password: yourpassword
server:
  port: 8099 # 服務開啟的端口

新建一個啟動類:

@SpringBootApplication
@EnableConfigServer
public class ConfigApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConfigApplication.class);
    }
}

@EnableConfigServer代表的是將這個微服務作為Config的服務器

配置文件

隨后在git服務器中新建幾個文件,并且按照peoperties的格式輸入內容,例如profile=ad如下:

microservice-foo.properties
microservice-foo-dev.properties
microservice-foo-test.properties

分別代表的是默認配置和開發(fā)環(huán)境以及測試環(huán)境的配置文件。

開啟服務端

運行服務端,然后訪問URL,其中URL的格式為localhost:port/默認的項目名稱/分支.格式

這個URL的格式有很多種格式,具體的可以百度之后再自己嘗試

{"name":"microservice-foo","profiles":["dev.json"],"label":"master","version":"7ac2a341dfe7959b809b7d5ec70b980970208b91","state":null,"propertySources":[{"name":"https://gitee.com/somersames/sprincloud-config.git/microservice-foo.properties","source":{"profile":"default-1.0-changeewafasf"}}]}
添加客戶端

客戶端不負責直接和git進行通信,而是直接和Config的服務端進行通信獲取最新的數(shù)據(jù)

新建一個工程并且添加一個配置文件bootstrap.yml,沒錯,是bootstrap.yml,然后再新建一個配置文件application.yml.
在bootstrap.yml中添加內容:

spring:
  application:
    name: microservice-foo # 這里的名稱填寫項目的名稱,也就是在之前獲取的json里面的那個name
  cloud:
    config:
      uri: http://localhost:8099/  # 填寫Config服務端地址
      profile: dev  #項目環(huán)境
      label: master  #項目分支

在Application.yml里面添加內容:

server:
  port: 8088 # 服務開啟的端口,任意即可

新建一個Controller

@RestController
@RequestMapping("config")
public class FeignController {

    @Value("${profile}")  // 這里的profile不是隨便取得,這里取得是上述josn字符串里面的propertySources 下的 source 里面的那個鍵,在這個例子里面就是profile,
    private String profile;

    @RequestMapping(value = "/profile",method = RequestMethod.GET)
    public String hello(){
        return this.profile;
    }
}

其他無需改動,然后訪問localhost:8099/config/profile,可以看到如下結果:

刷新

有時候需要比如動態(tài)刷新git的最新配置的話,需要引入一個新的包:

  
            org.springframework.boot
            spring-boot-starter-actuator
            1.2.7.RELEASE  
        

然后在Controller里面添加注解@RefreshScope,但是需要注意的是高版本需要在bootstrap.yml里面添加一個配置management:security:enabled: false否則會導致修改之后請求refresh刷新不出來。

自己通過git修改那個文件之后繼續(xù)如下操作:

然后POSTMAN發(fā)出一個POST請求,

如果在高版本里面不添加那個配置會導致刷新不出來,如果自己刷新不出來,請嘗試添加那個配置,另外那個額外添加的配置需要按照格式自己調整下。刷新之后如下:

那個cvcvcv就是剛剛修改的內容

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://www.ezyhdfw.cn/yun/69191.html

相關文章

  • 架構~微服務

    摘要:接下來繼續(xù)介紹三種架構模式,分別是查詢分離模式微服務模式多級緩存模式。分布式應用程序可以基于實現(xiàn)諸如數(shù)據(jù)發(fā)布訂閱負載均衡命名服務分布式協(xié)調通知集群管理選舉分布式鎖和分布式隊列等功能。 SpringCloud 分布式配置 SpringCloud 分布式配置 史上最簡單的 SpringCloud 教程 | 第九篇: 服務鏈路追蹤 (Spring Cloud Sleuth) 史上最簡單的 S...

    xinhaip 評論0 收藏0
  • 外行人都能看懂SpringCloud,錯過了血虧!

    摘要:集群系統(tǒng)中的單個計算機通常稱為節(jié)點,通常通過局域網(wǎng)連接,但也有其它的可能連接方式。這樣就高興了,可以專心寫自己的,前端就專門交由小周負責了。于是,小周和就變成了協(xié)作開發(fā)。都是為了項目正常運行以及迭代。 一、前言 只有光頭才能變強 認識我的朋友可能都知道我這陣子去實習啦,去的公司說是用SpringCloud(但我覺得使用的力度并不大啊~~)... 所以,這篇主要來講講SpringClou...

    沈建明 評論0 收藏0
  • 外行人都能看懂SpringCloud,錯過了血虧!

    摘要:集群系統(tǒng)中的單個計算機通常稱為節(jié)點,通常通過局域網(wǎng)連接,但也有其它的可能連接方式。這樣就高興了,可以專心寫自己的,前端就專門交由小周負責了。于是,小周和就變成了協(xié)作開發(fā)。都是為了項目正常運行以及迭代。 一、前言 只有光頭才能變強 認識我的朋友可能都知道我這陣子去實習啦,去的公司說是用SpringCloud(但我覺得使用的力度并不大啊~~)... 所以,這篇主要來講講SpringClou...

    enda 評論0 收藏0
  • springCloud學習3(Netflix Hystrix彈性客戶端)

    摘要:在艙壁模式中可以隔離每個遠程資源,并分配各自的線程池,使之互不影響。 springcloud 總集:https://www.tapme.top/blog/detail/2019-02-28-11-33 本次用到全部代碼見文章最下方。 一、為什么要有客戶端彈性模式 ??所有的系統(tǒng)都會遇到故障,分布式系統(tǒng)單點故障概率更高。如何構建應用程序來應對故障,是每個軟件開發(fā)人員工作的關鍵部分。但是通...

    yagami 評論0 收藏0

發(fā)表評論

0條評論

Prasanta

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<