config+bus 实现动态刷新 +高可用分布式配置中心

it2022-05-05  125


config+bus 实现动态刷新


在config-client-demo中的pom.xml添加依赖

<!--spring boot Actuator,感应服务端变化--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!--spring cloud bus消息队列--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency>

在testcontroller中开启更新注解

@RestController //开启更新功能 @RefreshScope public class TestController { //读取配置文件中的email @Value("${email}") private String email; /** * 返回配置文件中的值 * */ //访问value @GetMapping("/value") @ResponseBody public String returnValue(){ return email; } }

在application.yml中添加配置

###需要启动rabbitmq ###rabbitmq类似于activemq,host是安装了mq的主机地址,端口号,账号,密码 rabbitmq: host: port: username: password: ###bus刷新的权限 management: endpoints: web: exposure: include: bus-refresh

高可用分布式配置中心


原理:把配置中心也注册到注册中心,这样,服务端就可以调用服务的方式来访问配置中心的配置了

添加config-server的pom.xml依赖

<!--改用高可用配置中心--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>

修改配置文件application.yml

###服务注册到eureka地址 eureka: client: service-url: defaultZone: http://localhost:8888/eureka

在启动类里添加

@EnableEurekaClient

在config-client-demo的pom.xml中添加

<!--改用高可用配置中心--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>

在application.yml中

###服务注册到eureka地址 eureka: client: service-url: defaultZone: http://localhost:8888/eureka cloud: config: ###config server的uri ###uri: http://localhost:9100/ ###指定环境 profile: dev ###指定分支 label: master discovery: enabled: true ###使用服务名就是使用config-server-demo注册到eureka的名字 service-id: config-server

最新回复(0)