——把多个服务的配置文件放入config文件夹,并改名,加后缀。如:xxx-service-dev.yml
——把旧的配置文件删掉
——配置中心配置优先级最高,会覆盖命令行启动参数。可以配置关闭
spring: ...... cloud: config: override-none: true5.搭建配置中心 依赖——>配置——>注解——>启动
:依赖 config server
org.springframework.cloud spring-cloud-config-server
:配置
spring: cloud: config: server: git: uri: https://github.com/你的个人路径/sp-config #git 仓库地址 searchPaths: config #仓库中存放配置文件的文件夹路径 #username: your-username #password: your-password
:注解
@EnableConfigServer
@EnableDiscoveryClient
//启动类
:依赖 config
org.springframework.cloud spring-cloud-starter-config
:配置
新建 bootstrap.yml (在引导配置阶段,从配置中心下载 application.yml)
- 连接 eureka
- 指定配置中心的服务id
- 从配置中心下载 user-service-dev.yml
spring: cloud: config: discovery: #发现 enabled: true service-id: config-server name: item-service #配置的服务名 profile: dev #配置的后缀名Client配置刷新
与nacos的配置中心相比,springconfig提供了手动刷新配置的功能,避免了在高压状态下出错造成损失。
依赖——>配置——>刷新:依赖 actuator
org.springframework.boot spring-boot-starter-actuator
:配置 暴露refresh端点
修改配置中心config文件中的client配置。如:user-service-dev.yml
management: endpoints: web: exposure: include: refresh
如果配置文件中有对对象属性的配置
业务层类中需添加:
@RefreshScope注解
配置刷新时会重写构建对象
只允许对添加了 @RefreshScope 或 @ConfigurationProperties 注解的 Bean 刷新配置,可以将更新的配置数据注入到 Bean 中
:刷新
用postman访问刷新端点, 刷新配置刷新端点路径:
访问指定要刷新的服务的暴露端点。
POST:/actuator/refresh
post 请求 消息总线 刷新端点,服务器会向 rabbitmq 发布刷新消息,接收到消息的微服务会向配置服务器 请求 刷新配置信息
需要修改的服务:- 网关
- config server服务
- 被config配置的服务
:依赖
- config 支配的服务
- config server
org.springframework.boot spring-boot-starter-amqporg.springframework.cloud spring-cloud-busorg.springframework.cloud spring-cloud-stream-binder-rabbit
:(1/2)配置
- config文件夹中的配置文件
- config server项目的配置
spring: ...... rabbitmq: host: 192.168.64.140 #我们自己的rabbitmq连接信息 port: 5672 username: admin password: admin
:(2/2)配置
- config server配置——暴露bus-refresh端点
management: endpoints: web: exposure: include: bus-refresh
:启动服务
请求刷新端点发布刷新消息
POST:向config发送请求 /actuator/bus-refresh
指定微服务刷新
POST:/actuator/bus-refresh/user-service:8101
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)