溫馨提示×

溫馨提示×

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

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

如何使用spring cloud Bus刷新配置

發(fā)布時間:2021-11-20 15:21:14 來源:億速云 閱讀:169 作者:柒染 欄目:軟件技術(shù)

如何使用spring cloud Bus刷新配置,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

當(dāng)我們的業(yè)務(wù)系統(tǒng)越來越龐大復(fù)雜的時候,各種配置也會隨之增多。配置文件只要一修改,會對commonservice-config配置中心先停止服務(wù),然后再重新啟動,最后使配置生效。

如果服務(wù)少,我們可以手動方式來啟動,但是對業(yè)務(wù)和系統(tǒng)的穩(wěn)定性肯定有一定的影響。

針對以上問題,commonservice-config服務(wù)端和業(yè)務(wù)微服務(wù)分別做了相關(guān)的配置,服務(wù)端負(fù)責(zé)將git(svn或本地文件系統(tǒng))中存儲的配置文件進(jìn)行配置化(我們使用的是本地配置方案,方便直接將配置文件更新到linux上),

業(yè)務(wù)微服務(wù)通過配置從服務(wù)端配置中心獲取相關(guān)配置,如果配置文件變動了,通過刷新業(yè)務(wù)微服務(wù)的方式,將最新的配置信息獲取。

spring cloud Bus通過一個輕量級消息代理連接分布式系統(tǒng)的節(jié)點。這可以用于廣播狀態(tài)更改(如配置更改)或其他管理指令。

接下來,我們就來實施通過spring cloud Bus方案,動態(tài)刷新服務(wù)端配置,具體步驟如下:

1. commonservice-config服務(wù)配置可以參考之前的鏈接:

2. 業(yè)務(wù)微服務(wù)配置(以honghu-member-servcie會員服務(wù)為例):

<span style="font-size: 16px;">        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId><span style="font-size: 16px;">spring-boot-starter-actuator</span></artifactId>  
        </dependency>  
          
    <dependency>  
         <groupId>org.springframework.cloud</groupId>  
             <artifactId><span style="font-size: 16px;">spring-cloud-starter-bus-amqp</span></artifactId>  
    </dependency></span>

yml文件配置:

span style="font-size: 16px;">server:  
  port: 5012  spring:   
  application:  
    name: honghu-member-client  
  profiles:  
    active: dev,discoveryClient  
  cloud:  
    config:  
      discovery:   
        enabled: true  
        service-id: commonservice-config-server  
      <span style="font-size: 16px;"><strong>name: honghu-member  
      profile: dev  
    bus:  
      trace:  
        enabled: true  #開啟消息跟蹤  </strong>          
  <strong>rabbitmq:  
    host: 192.168.1.254  
    port: 5672  
    username: honghu  
    password: honghu</strong>  </span>   
eureka:  
  client:  
    serviceUrl:  
      defaultZone: http://honghu:123456@localhost:8761/eureka/  
  instance:  
    prefer-ip-address: true  logging:  
  level:  
    root: INFO  
    org.springframework.security: INFO  
management:  
  security:  
    enabled: false  security:  
  basic:  
    enabled: false</span>

編寫一個測試類(MemberController.java),用來獲取配置項

<span style="font-size: 16px;">package com.honghu.cloud.controller;  
  import org.springframework.beans.factory.annotation.Value;  import org.springframework.cloud.context.config.annotation.RefreshScope;  import org.springframework.web.bind.annotation.GetMapping;  import org.springframework.web.bind.annotation.RestController;  
  
<strong>@RefreshScope</strong>  @RestController  public class MemberController {  
  
    @Value("${profile}")  
    private String profile;  
  
    @GetMapping("/profile")  
    public String getProfile() {  
        return this.profile;  
    }  
}</span>

3. 查看注冊中心,commonservice-config、honghu-member-service服務(wù)是否已經(jīng)注冊

如何使用spring cloud Bus刷新配置

4. 訪問一下profile,獲取profile對應(yīng)的配置信息(原配置):

訪問http://localhost:7071/profile  ==》 訪問結(jié)果:123456

5. 修改config配置中心的配置文件,將profile=123456修改為honghu123456

再次訪問http://localhost:7071/profile  ==》 訪問結(jié)果:123456

6. 使用spring cloud bus 刷新方案(使用post man測試工具進(jìn)行測試)

再次訪問http://localhost:7071/profile  ==》 訪問結(jié)果:honghu123456

到此,整個commonservice-config配置中心動態(tài)刷新方案整理完畢 

看完上述內(nèi)容,你們掌握如何使用spring cloud Bus刷新配置的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI