91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

SpringCloud Bus消息總線怎么用

發布時間:2021-08-09 11:11:44 來源:億速云 閱讀:116 作者:小新 欄目:編程語言

這篇文章主要介紹了SpringCloud Bus消息總線怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

什么是消息總線

1. 概念

在微服務架構中,通常會使用輕量級的消息代理來構建一個共用的消息主題來連接各個微服務實例, 它廣播的消息會被所有在注冊中心的微服務實例監聽和消費,也稱消息總線

2. SpringCloud Bus

SpringCloud中也有對應的解決方案,SpringCloud Bus 將分布式的節點用輕量的消息代理連接起來, 可以很容易搭建消息總線,配合SpringCloud config 實現微服務應用配置信息的動態更新。

3. 其他

消息代理屬于中間件。設計代理的目的就是為了能夠從應用程序中傳入消息,并執行一些特別的操作。 開源產品很多如ActiveMQ、Kafka、RabbitMQ、RocketMQ等 目前springCloud僅支持RabbitMQ和Kafka。本文采用RabbitMQ實現這一功能。

搭建分布式配置中心

1. Config 架構

SpringCloud Bus消息總線怎么用

當一個系統中的配置文件發生改變的時候,我們需要重新啟動該服務,才能使得新的配置文件生效,spring cloud config可以實現微服務中的所有系統的配置文件的統一管理,而且還可以實現當配置文件發生變化的時候,系統會自動更新獲取新的配置。

2. Git 環境搭建

使用 碼云 環境搭建 git

碼云環境地址: https://gitee.com/guopf/springcloud_bus

3. Git服務器上傳配置文件

命名規范 服務名稱-版本.yml 例如configclient_dev.yml

SpringCloud Bus消息總線怎么用

4. 搭建 Eureka 服務注冊中心

具體搭建環境隨后補充,可以使用我自己部署的 http://47.105.86.222:8100 (配置地址http://47.105.86.222:8100/eureka)

5. 搭建 config-server 服務

1. maven 依賴

<dependencies>
    <!-- SpringBoot整合Web組件 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--spring-cloud 整合 config-server -->
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-config-server</artifactId>
      <version>2.0.2.RELEASE</version>
    </dependency>

    <!-- SpringBoot整合eureka客戶端 -->
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
      <version>2.0.2.RELEASE</version>
    </dependency>
 </dependencies>

2. 配置文件

### 服務地址 端口
server:
 port: 8800
### 服務名稱
spring:
 application:
  name: config_server
 cloud:
  config:
   server:
    git:
     ### git 地址
     uri: https://gitee.com/guopf/springcloud_bus.git
     username:
     password:
     ### 配置讀取文件夾
     search-paths: config
   ### 分支
   label: master

### eureka 配置
eureka:
 client:
  service-url:
   defaultZone: http://47.105.86.222:8100/eureka
  register-with-eureka: true
  fetch-registry: true

3. 啟動

/**
 * @EnableEurekaClient : 開啟 eureka 客戶端
 * @EnableConfigServer : 開啟 config 服務端
 *
 */
@SpringBootApplication
@EnableEurekaClient
@EnableConfigServer
public class App {
  public static void main(String[] args) {
    SpringApplication.run(App.class,args);
  }
}

搭建 config-client 服務

1. 手動更新 

1. maven 依賴

  <dependencies>
    <!-- SpringBoot整合Web組件 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-config-client</artifactId>
      <version>2.0.2.RELEASE</version>
    </dependency>
    <!-- SpringBoot整合eureka客戶端 -->
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
      <version>2.0.2.RELEASE</version>
    </dependency>
    <!--核心jar包,集成rabbitMQ 消息總線 bus
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-bus-amqp</artifactId>
    </dependency>
    -->
    <!-- actuator監控中心 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

  </dependencies>

2. 配置文件(bootstrap.yml)

### 端口
server:
 port: 8801
 ### eureka 配置中心
eureka:
 client:
  service-url:
   defaultZone: http://47.105.86.222:8100/eureka
  fetch-registry: true
  register-with-eureka: true

### 配置服務名稱,要和config 配置中心文件保持一致
spring:
 application:
  name: configclient
 cloud:
  config:
   ### 讀取配置
   profile: dev
   discovery:
    ###
    enabled: true
    ### config 配置中心配置的服務名稱
    service-id: config_server
management:
 endpoints:
  web:
   exposure:
    include: "*"

3. 啟動

@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient
public class App {
  public static void main(String[] args) {
    SpringApplication.run(App.class,args);
  }
}
/**
 * 在讀取配置文件信息的地方進行添加 @RefreshScope 注解
 */
@RestController
@RefreshScope
public class AppController {

  @Value("${userAge}")
  private String userAge;

  @GetMapping("/userAge")
  public String config(){
    System.out.println("userAge : " + userAge);
    return userAge;
  }
}

修改git倉庫中的配置,進行手動更新,post請求

http://127.0.0.1:8801/actuator/refresh  啟動刷新器 從cofnig_server讀取

2. 使用消息總線 bus 更新

1. 添加依賴信息

在 config_server,config_client 中添加 

<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-bus-amqp</artifactId>
    </dependency>
    <!-- actuator監控中心 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

2. 配置文件修改

添加對 rabbbitMQ的配置, rabbitMQ服務和config_server,config_client 在一個服務器上,使用默認配置即可

### rabbitmq 配置信息
 rabbitmq:
  addresses: 47.105.86.222
  username: guest
  password: guest
  port: 5672
  virtual-host: /

3. 刷新

http://127.0.0.1:8801/actuator/bus-refresh   post方式

感謝你能夠認真閱讀完這篇文章,希望小編分享的“SpringCloud Bus消息總線怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

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

AI

平顺县| 星座| 栾城县| 富民县| 图木舒克市| 桑植县| 安溪县| 灯塔市| 固阳县| 东兴市| 兴隆县| 合肥市| 镇远县| 巴楚县| 德安县| 宣恩县| 嵩明县| 宁南县| 贡嘎县| 尖扎县| 若尔盖县| 宁陕县| 牟定县| 黄龙县| 夏河县| 漾濞| 谢通门县| 苍溪县| 郓城县| 黑山县| 大同市| 三原县| 甘洛县| 神池县| 宜州市| 任丘市| 望谟县| 台中市| 周口市| 叶城县| 前郭尔|