Spring Cloud Config 不得不说的配置,已更新config bus+rabbitmq

Spring Cloud Config 不得不说的配置,已更新config bus+rabbitmq,第1张

Spring Cloud Config 不得不说的配置,已更新config bus+rabbitmq Config基本使用流程 1.有远程仓库 2.有本地仓库 3.PUSH一下 4.配置文件放入config文件夹

——把多个服务的配置文件放入config文件夹,并改名,加后缀。如:xxx-service-dev.yml
——把旧的配置文件删掉
——配置中心配置优先级最高,会覆盖命令行启动参数。可以配置关闭

spring:
  ......
  cloud:
    config:
      override-none: true
5.搭建配置中心 依赖——>配置——>注解——>启动

:依赖 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
//启动类

6.被配置的客户端们 依赖——>配置——>注解——>启动

:依赖 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

Config Bus + Rabbitmq

post 请求 消息总线 刷新端点,服务器会向 rabbitmq 发布刷新消息,接收到消息的微服务会向配置服务器 请求 刷新配置信息

需要修改的服务:
  • 网关
  • config server服务
  • 被config配置的服务
依赖——>配置——>启动

:依赖

  • config 支配的服务
  • config server
		
			org.springframework.boot
			spring-boot-starter-amqp
		
		
			org.springframework.cloud
			spring-cloud-bus
		
		
			org.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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5683624.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存