一、通过客户端刷新,使配置文件生效
1、创建远程仓库,获取远程仓库地址(省略),application.yml

2、创建服务端工程
3、添加依赖
1<dependencies> 2 <dependency> 3 <groupId>org.springframework.cloud</groupId> 4 <artifactId>spring-cloud-config-server</artifactId> 5 </dependency> 6 <dependency> 7 <groupId>org.springframework.cloud</groupId> 8 <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> 9 </dependency> 10 </dependencies>
4、加注解
1@EnableDiscoveryClient 2@EnableConfigServer //激活对配置中心的支持 3@SpringBootApplication 4public class SpringCloudConfigServerMqApplication { 5 6 public static void main(String[] args) { 7 SpringApplication.run(SpringCloudConfigServerMqApplication.class, args); 8 } 9 10}
5、修改配置application.properties
1spring.application.name=spring-cloud-config-server 2server.port=8500 3 4spring.cloud.config.server.git.uri=https://***.git 5spring.cloud.config.server.git.username=*** 6spring.cloud.config.server.git.password=*** 7 8eureka.client.serviceUrl.defaultZone=http://**:***/eureka/
6、请求方式
11、application-{profiles}.yml请求 2http://192.168.0.131:8500/application-local.yml 3http://192.168.0.131:8500/application-test.yml 4http://192.168.0.131:8500/application-prod.yml 52、application/{profiles}/{lable} 6http://192.168.0.131:8500/application/local/master 7http://192.168.0.131:8500/application/test/master 8http://192.168.0.131:8500/application/prod/master 93、{lable}/application-{profiles}.yml 10http://192.168.0.131:8500/master/application-local.yml 11http://192.168.0.131:8500/master/application-test.yml 12http://192.168.0.131:8500/master/application-prod.yml
7、创建客户端工程
8、添加依赖
1<dependency> 2 <groupId>org.springframework.cloud</groupId> 3 <artifactId>spring-cloud-starter-config</artifactId> 4 </dependency> 5 <dependency> 6 <groupId>org.springframework.cloud</groupId> 7 <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> 8 </dependency>
9、加注解
1@SpringBootApplication 2@EnableDiscoveryClient 3public class SpringCloudProviderDynastyMqApplication { 4 5 public static void main(String[] args) { 6 SpringApplication.run(SpringCloudProviderDynastyMqApplication.class, args); 7 } 8 9}
10、修改配置bootstrap.yml
1spring: 2 application: 3 name: dynasty 4 cloud: 5 config: 6 uri: http://192.168.0.131:8500 7 profile: prod 8 label: master 9management: 10 endpoints: 11 web: 12 exposure: 13 include: refresh,health,info
11、发送请求
12、修改远程仓库的值,使用postman刷新

此种刷新方式的缺点在于:配置文件有变化时,需要客户端主动刷新,当客户端有很多时,刷新不是很方便,,希望有一种方式可以通过服务端刷新
二、使用kafka通过刷新服务端来使配置生效
1、服务端修改
1.1新增依赖
1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-actuator</artifactId> 4 </dependency> 5 <!-- kafka依赖 --> 6 <dependency> 7 <groupId>org.springframework.cloud</groupId> 8 <artifactId>spring-cloud-starter-bus-kafka</artifactId> 9 </dependency>
1.2修改配置
1eureka: 2 client: 3 serviceUrl: 4 defaultZone: http://ip:port/eureka/ 5server: 6 port: 8500 7spring: 8 application: 9 name: spring-cloud-config-server-mq 10 cloud: 11 config: 12 server: 13 git: 14 uri: https://giturl.git 15 username: username 16 password: password 17 bus: 18 enabled: true 19 stream: 20 kafka: 21 binder: 22 brokers: 192.168.0.128:9092,192.168.0.129:9092,192.168.0.130:9092 23management: 24 endpoints: 25 web: 26 exposure: 27 include: "*"
1.3启动项目
2、客户端修改
2.1添加依赖
1<dependency> 2 <groupId>org.springframework.cloud</groupId> 3 <artifactId>spring-cloud-starter-bus-kafka</artifactId> 4</dependency>
2.2修改配置
1spring: 2 application: 3 name: dynasty 4 cloud: 5 config: 6 uri: http://192.168.0.131:8500 7 profile: prod 8 label: master 9 bus: 10 enabled: true 11 kafka: 12 bootstrap-servers: 192.168.0.128:9092,192.168.0.129:9092,192.168.0.130:9092
2.3启动项目
3、请求示例
3.1git配置

3.2请求

3.3修改git配置

3.4调用刷新接口

3.5再次请求
