Eclipse配置運行SpringCloud(Hoxton + 2.2.4)微服務框架 + 消息總線集成Spring Cloud Bus(RabbitMQ || Kafka)

Spring Cloud Bus

Spring Cloud Config服務端負責將git svn中存儲的配置文件發佈成REST接口,客戶端可以從服務端REST接口獲取配置。但客戶端並不能主動感知到配置的變化,從而主動去獲取新的配置,這需要每個客戶端通過POST方法觸發各自的/refresh。

Spring Cloud Bus通過一個輕量級消息代理連接分佈式系統的節點。這可以用於廣播狀態更改(如配置更改)或其他管理指令。Spring Cloud Bus提供了通過POST方法訪問的endpoint/bus/refresh,這個接口通常由git的鉤子功能調用,用以通知各個Spring Cloud Config的客戶端去服務端更新配置。

SpringCloudConfig結合SpringCloudBus實現分佈式配置的工作流

在這裏插入圖片描述

  1. 提交代碼觸發post請求給bus/refresh
  2. server端接收到請求併發送給Spring Cloud Bus
  3. Spring Cloud bus接到消息並通知給其它客戶端
  4. 其它客戶端接收到通知,請求Server端獲取最新配置
  5. 全部客戶端均獲取到最新的配置

消息代理

消息代理(Message Broker)是一種消息驗證、傳輸、路由的架構模式。消息代理是一箇中間件產品,它的核心是一個消息的路由程序,用來實現接收和分發消息,並根據設定好的消息處理流來轉發給正確的應用。它包括獨立的通信和消息傳遞協議,能夠實現組織內部和組織間的網絡通信。設計代理的目的就是爲了能夠從應用程序中傳入消息,並執行一些特別的操作。

在這裏插入圖片描述目前Spring Cloud Bus 支持

  • RabbitMQ:spring-cloud-starter-bus-amqp
  • Kafka:spring-cloud-starter-bus-kafka

RabbitMQ方式

配置RabbitMQ

創建用戶

rabbitmqctl add_user [username] [password]

在這裏插入圖片描述

設置tag

rabbitmqctl set_user_tags username [tag1] [tag2] ...

在這裏插入圖片描述

用戶授權

rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>

在這裏插入圖片描述

登錄

瀏覽器訪問http://localhost:15672
在這裏插入圖片描述

服務端配置 Config Server

依賴包文件POM.xml

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.springcloud</groupId>
    <artifactId>springcloud-root</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>springcloud-eureka-provider</artifactId>
  <name>springcloud-eureka-provider</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-bus</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-bus-amqp</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

配置application.yml文件

spring:
  application:
    name: springcloud-config-server
  freemarker:
    prefer-file-system-access: false
  security:
    user:
      name: admin
      password: 123456
  cloud:
    config:
      # 配置倉庫的分支
      label: master
      server:
        git:
          # 配置git倉庫地址
          # uri: [email protected]/springcloud-config.git
          uri: file:E:/SpringBoot/SpringCloud/springcloud-root/springcloud-config
          # 配置倉庫路徑
          search-paths: config-file
          # 訪問git倉庫的用戶名
          username: zhaojq
          # 訪問git倉庫的用戶密碼
          password: 123456
    bus:
      enabled: true
      trace:
        enabled: true
      refresh:
        enabled: true
  rabbitmq:
    host: localhost
    port: 5672
    username: zhaojq
    password: 123456

server:
  port: 8130

management:
  endpoints:
    web:
      exposure:
        include: '*'

eureka:
  instance:
    hostname: eureka-config-server.com
    instance-id: eureka-config-server
  client:
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer1.com:8897/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer2.com:8898/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer3.com:8899/eureka/

啓動項目springcloud-config-server

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

rabbit,kafka, and no default binder has been set.錯誤

org.springframework.context.ApplicationContextException: Failed to start bean 'outputBindingLifecycle'; nested exception is java.lang.IllegalStateException: A default binder has been requested, but there is more than one binder available for 'org.springframework.cloud.stream.messaging.DirectWithAttributesChannel' : rabbit,kafka, and no default binder has been set.

Kafka 和 RabbitMQ 只能配置一個,如果 kafka 和 RabbitMQ 依賴包同時存在,啓動時會報上述錯誤。

客戶端配置 Config Client

依賴包文件POM.xml

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.springcloud</groupId>
    <artifactId>springcloud-root</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>springcloud-eureka-provider</artifactId>
  <name>springcloud-eureka-provider</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-bus</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-bus-amqp</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

bootstrap.yml文件

spring:
  application:
    name: springcloud-eureka-provider
  freemarker:
    prefer-file-system-access: false
  security:
    user:
      name: admin
      password: 123456
  cloud:
    config:
      #profile: dev
      label: master
      fail-fast: true
      #指明配置服務中心的網址
      #uri: http://eureka-config-server.com:8130
      discovery:
        service-id: springcloud-config-server
        enabled: true
    bus:
      enabled: true
      trace:
        enabled: true
      refresh:
        enabled: true
  rabbitmq:
    host: localhost
    port: 5672
    username: zhaojq
    password: 123456

# Spring Boot 2.x已淘汰的方式:management.security.enabled=false
management:
  endpoints:
    web:
      exposure:
        include: '*'

eureka:
  instance:
    hostname: eureka-provider2.com
    instance-id: eureka-provider2
  client:
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer1.com:8897/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer2.com:8898/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer3.com:8899/eureka/

修改配置類

在需要更新的配置類上加@RefreshScope註解,@RefreshScope必須加,否則客戶端會收到服務端的更新消息,但是更新不了,因爲不知道更新哪裏的。

package org.springcloud.eureka.provider;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@EnableDiscoveryClient
@RestController
@RefreshScope
public class ConfigProviderApplication {

    @Value("${content}")
    String content;

    @Value("${server.port}")
    String port;

    @RequestMapping("/config")
    public String Home(@RequestParam String name) {
        return "Hello "+name+", This is from serverport:" + port+",content="+content;
    }

    public static void main(String[] args) {
        SpringApplication.run(ConfigProviderApplication.class, args);
    }
}

依次啓動項目

springcloud-eureka-cluster-peer1
springcloud-eureka-cluster-peer2
springcloud-eureka-cluster-peer3
springcloud-config-server
springcloud-eureka-provider1
springcloud-eureka-provider2
springcloud-eureka-provider3

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

An unexpected connection driver error occured錯誤

2020-02-23 01:17:02.141  INFO 26300 --- [SeGTZQPlTXZGQ-9] o.s.a.r.c.CachingConnectionFactory       : Attempting to connect to: [localhost:5672]
2020-02-23 01:17:02.145 ERROR 26300 --- [ 127.0.0.1:5672] c.r.c.impl.ForgivingExceptionHandler     : An unexpected connection driver error occured

在這裏插入圖片描述
用戶授予了角色,只能登錄控制檯,但是沒有給讀寫以及管理隊列的權限,通過控制檯admin按鈕查看,參考用戶授權,rabbitmqctl set_permissions後
在這裏插入圖片描述

測試服務

1、修改配置

修改Git倉庫配置
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

2、查看 Config Server
瀏覽器訪問http://eureka-config-server.com:8130/application/test/master
在這裏插入圖片描述
Config Server 已經是最新的值。

3、刷新配置

發送 POST請求到:http://eureka-config-server.com:8130/actuator/bus-refresh
在這裏插入圖片描述
springcloud-eureka-provider1收到遠程更新請求

Received remote refresh request. Keys refreshed [config.client.version, content]
Attempting to connect to: [localhost:5672]
Created new connection: rabbitConnectionFactory.publisher#9282cf2:0/SimpleConnection@6f1560a7 [delegate=amqp://[email protected]:5672/, localPort= 53197]
DiscoveryClient_SPRINGCLOUD-EUREKA-PROVIDER/eureka-provider1 - registration status: 204
DiscoveryClient_SPRINGCLOUD-EUREKA-PROVIDER/eureka-provider1: registering service...
DiscoveryClient_SPRINGCLOUD-EUREKA-PROVIDER/eureka-provider1 - registration status: 204

springcloud-eureka-provider2,springcloud-eureka-provider3也收到了如上請求。

4、再次訪問 Config Client
訪問:
http://eureka-provider1.com:8001/config?name=zhaojq,
http://eureka-provider2.com:8002/config?name=zhaojq
http://eureka-provider3.com:8003/config?name=zhaojq
已經刷新了配置
在這裏插入圖片描述

Kafka方式

配置Kafka

zookeeper

  • 下載安裝包
    http://zookeeper.apache.org/releases.html#download
  • 解壓並進入ZooKeeper目錄,如:E:\SpringBoot\apache-zookeeper-3.5.7-bin\conf
  • 將“zoo_sample.cfg”重命名爲“zoo.cfg”
  • 打開“zoo.cfg”找到並編輯dataDir=E:\SpringBoot\apache-zookeeper-3.5.7-bin\tmp
  • 添加系統變量:ZOOKEEPER_HOME=E:\SpringBoot\apache-zookeeper-3.5.7-bin
  • 編輯path系統變量,添加路徑:%ZOOKEEPER_HOME%\bin
  • 在zoo.cfg文件中修改默認的Zookeeper端口(默認端口2181)
  • 按下Shift+右鍵,打開新的PowerShell,輸入“zkServer“,運行Zookeeper
  • 命令行提示如下:說明本地Zookeeper啓動成功
    在這裏插入圖片描述
    注意:此窗口不關閉

Kafka

  • 下載安裝包
    http://kafka.apache.org/downloads
  • 解壓並進入Kafka目錄,如:E:\SpringBoot\kafka_2.13-2.4.0
  • 進入config目錄找到文件server.properties並打開
  • 找到並編輯log.dirs=log.dirs=E:\SpringBoot\kafka_2.13-2.4.0\kafka-logs
  • 找到並編輯zookeeper.connect=localhost:2181
  • Kafka會按照默認,在9092端口上運行,並連接zookeeper的默認端口:2181
  • 進入Kafka安裝目錄E:\SpringBoot\kafka_2.13-2.4.0,按下Shift+右鍵,打開新的PowerShell,打開命令行,輸入:
.\bin\windows\kafka-server-start.bat .\config\server.properties
  • 命令行提示如下:說明本地Kafka啓動成功
    在這裏插入圖片描述
    注意:此窗口不關閉

測試Kafka

進入Kafka安裝目錄E:\SpringBoot\kafka_2.13-2.4.0,按下Shift+右鍵,打開新的PowerShell,打開命令行,輸入:

創建Topic

.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

查看Topic

.\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181

創建生產者

.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test

在這裏插入圖片描述

創建消費者

.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning

在這裏插入圖片描述

服務端配置 Config Server

依賴包文件POM.xml

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.springcloud</groupId>
    <artifactId>springcloud-root</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>springcloud-config-server</artifactId>
  <name>springcloud-config-server</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-config-server</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-bus-kafka</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-stream-binder-kafka</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
</project>

配置application.yml文件

spring:
  application:
    name: springcloud-config-server
  freemarker:
    prefer-file-system-access: false
  security:
    user:
      name: admin
      password: 123456
  cloud:
    config:
      # 配置倉庫的分支
      label: master
      server:
        git:
          # 配置git倉庫地址
          # uri: [email protected]/springcloud-config.git
          uri: file:E:/SpringBoot/SpringCloud/springcloud-root/springcloud-config
          # 配置倉庫路徑
          search-paths: config-file
          # 訪問git倉庫的用戶名
          username: zhaojq
          # 訪問git倉庫的用戶密碼
          password: 123456
    bus:
      enabled: true
      trace:
        enabled: true
      refresh:
        enabled: true
  #rabbitmq:
    #host: localhost
    #port: 5672
    #username: zhaojq
    #password: 123456
  kafka:
    bootstrap-servers:
    - localhost:9092  

server:
  port: 8130

management:
  endpoints:
    web:
      exposure:
        include: '*'

eureka:
  instance:
    hostname: eureka-config-server.com
    instance-id: eureka-config-server
  client:
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer1.com:8897/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer2.com:8898/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer3.com:8899/eureka/

啓動項目springcloud-config-server

在這裏插入圖片描述

客戶端配置 Config Client

依賴包文件POM.xml

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.springcloud</groupId>
    <artifactId>springcloud-root</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>springcloud-eureka-provider</artifactId>
  <name>springcloud-eureka-provider</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-bus</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-bus-kafka</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-stream-binder-kafka</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

bootstrap.yml文件

spring:
  application:
    name: springcloud-eureka-provider
  freemarker:
    prefer-file-system-access: false
  security:
    user:
      name: admin
      password: 123456
  cloud:
    config:
      #profile: dev
      label: master
      fail-fast: true
      #指明配置服務中心的網址
      #uri: http://eureka-config-server.com:8130
      discovery:
        service-id: springcloud-config-server
        enabled: true
    bus:
      enabled: true
      trace:
        enabled: true
      refresh:
        enabled: true
  #rabbitmq:
    #host: localhost
    #port: 5672
    #username: zhaojq
    #password: 123456
  kafka:
    bootstrap-servers:
    - localhost:9092  

# Spring Boot 2.x已淘汰的方式:management.security.enabled=false
management:
  endpoints:
    web:
      exposure:
        include: '*'

eureka:
  instance:
    hostname: eureka-provider2.com
    instance-id: eureka-provider2
  client:
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer1.com:8897/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer2.com:8898/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer3.com:8899/eureka/

依次啓動項目

springcloud-eureka-cluster-peer1
springcloud-eureka-cluster-peer2
springcloud-eureka-cluster-peer3
springcloud-config-server
springcloud-eureka-provider1
springcloud-eureka-provider2
springcloud-eureka-provider3

springcloud-eureka-provider1輸出如下:

2020-02-24 02:16:36.436  INFO 12888 --- [           main] o.a.kafka.common.utils.AppInfoParser     : Kafka version: 2.3.1
2020-02-24 02:16:36.436  INFO 12888 --- [           main] o.a.kafka.common.utils.AppInfoParser     : Kafka commitId: 18a913733fb71c01
2020-02-24 02:16:36.436  INFO 12888 --- [           main] o.a.kafka.common.utils.AppInfoParser     : Kafka startTimeMs: 1582481796436
2020-02-24 02:16:36.457  INFO 12888 --- [           main] o.a.k.clients.consumer.ConsumerConfig    : ConsumerConfig values: 
	allow.auto.create.topics = true
	auto.commit.interval.ms = 100
	auto.offset.reset = latest
	bootstrap.servers = [localhost:9092]
	check.crcs = true
	client.dns.lookup = default
	client.id = 
	client.rack = 
	connections.max.idle.ms = 540000
	default.api.timeout.ms = 60000
	enable.auto.commit = false
	exclude.internal.topics = true
	fetch.max.bytes = 52428800
	fetch.max.wait.ms = 500
	fetch.min.bytes = 1
	group.id = anonymous.81ab530a-354f-407f-b513-84d6641b561c
	group.instance.id = null
	heartbeat.interval.ms = 3000
	interceptor.classes = []
	internal.leave.group.on.close = true
	isolation.level = read_uncommitted
	key.deserializer = class org.apache.kafka.common.serialization.ByteArrayDeserializer
	max.partition.fetch.bytes = 1048576
	max.poll.interval.ms = 300000
	max.poll.records = 500
	metadata.max.age.ms = 300000
	metric.reporters = []
	metrics.num.samples = 2
	metrics.recording.level = INFO
	metrics.sample.window.ms = 30000
	partition.assignment.strategy = [class org.apache.kafka.clients.consumer.RangeAssignor]
	receive.buffer.bytes = 65536
	reconnect.backoff.max.ms = 1000
	reconnect.backoff.ms = 50
	request.timeout.ms = 30000
	retry.backoff.ms = 100
	sasl.client.callback.handler.class = null
	sasl.jaas.config = null
	sasl.kerberos.kinit.cmd = /usr/bin/kinit
	sasl.kerberos.min.time.before.relogin = 60000
	sasl.kerberos.service.name = null
	sasl.kerberos.ticket.renew.jitter = 0.05
	sasl.kerberos.ticket.renew.window.factor = 0.8
	sasl.login.callback.handler.class = null
	sasl.login.class = null
	sasl.login.refresh.buffer.seconds = 300
	sasl.login.refresh.min.period.seconds = 60
	sasl.login.refresh.window.factor = 0.8
	sasl.login.refresh.window.jitter = 0.05
	sasl.mechanism = GSSAPI
	security.protocol = PLAINTEXT
	send.buffer.bytes = 131072
	session.timeout.ms = 10000
	ssl.cipher.suites = null
	ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1]
	ssl.endpoint.identification.algorithm = https
	ssl.key.password = null
	ssl.keymanager.algorithm = SunX509
	ssl.keystore.location = null
	ssl.keystore.password = null
	ssl.keystore.type = JKS
	ssl.protocol = TLS
	ssl.provider = null
	ssl.secure.random.implementation = null
	ssl.trustmanager.algorithm = PKIX
	ssl.truststore.location = null
	ssl.truststore.password = null
	ssl.truststore.type = JKS
	value.deserializer = class org.apache.kafka.common.serialization.ByteArrayDeserializer

測試服務

1、修改配置

修改Git倉庫配置
在這裏插入圖片描述
2、查看 Config Server
瀏覽器訪問http://eureka-config-server.com:8130/application/test/master
在這裏插入圖片描述
Config Server 已經是最新的值。

3、刷新配置

發送 POST請求到:http://eureka-config-server.com:8130/actuator/bus-refresh
在這裏插入圖片描述

4、再次訪問 Config Client
訪問:http://eureka-provider3.com:8003/config?name=zhaojq
在這裏插入圖片描述
已經刷新了配置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章