全局刷新
详细参考:《Sprin Cloud 与 Docker 微服务架构实战》p160-9.9.2节
1、使用Spring Cloud Config 客户端时,可以使用 /refresh 端点,舒心配置信息(注意:关闭安全认证,否则无法刷新。management.security.enabled = false)。
2、如果每一个 客户端都要手动的使用 /refresh 端点去刷新配置。很繁琐,也不便于操作,想想如果有100个节点怎么办?当然了你也可以写一个脚本批量操作。
3、其实spring cloud 已经存在这样的解决方案了,我们只需要简单的配置就可以进行全节点的自动刷新。
下面是的使用步骤:
1、添加依赖关系:spring-cloud-starter-bus-amqp
2、在bootstrap.xml配置文件中添加如下配置项目:
spring: rabbitmq: host: localhost port: 5672 # 不是web端监控中心的15672端口 username: guest # 默认 password: guest # 默认
3、开始启动:
3.1 首先将配置中心 服务器端启动
3.2 然后将客户端启动,(为了容易测试,可以将客户端的启动端口更改,这个可以启动多台客户端)
3.3 更改远程库中的配置属性
3.4 使用 /bus/refresh 端点进行刷新
4、之后我们访问两个客户端节点
5、完成
---
局部刷新
当然也可以刷新某一个节点的配置数据
命令规则为:
/bus/refresh?destination=ApplicationContextID
ApplicationContextID 也就是 spring.application.name : port
例如:
http://localhost:7989/bus/refresh?destination=microservice-foo:7989