(十六) 整合spring cloud云架构 -使用spring cloud Bus刷新配置

简介: 针对以上问题,commonservice-config服务端和业务微服务分别做了相关的配置,服务端负责将git(svn或本地文件系统)中存储的配置文件进行配置化(我们使用的是本地配置方案,方便直接将配置文件更新到linux上), 完整项目的源码来源 技术支持1791743380

我们使用spring cloud分布式微服务云架构做了b2b2c的电子商务系统,除了架构本身自带的系统服务外,我们将b2b2c的业务服务进行了细粒度拆分,做成了不同的业务微服务。

当我们的业务系统越来越庞大复杂的时候,各种配置也会随之增多。配置文件只要一修改,会对commonservice-config配置中心先停止服务,然后再重新启动,最后使配置生效。

如果服务少,我们可以手动方式来启动,但是对业务和系统的稳定性肯定有一定的影响。

如果是成百上千的服务都靠手动操作,我估计运维人员或技术人员会疯掉的。

针对以上问题,commonservice-config服务端和业务微服务分别做了相关的配置,服务端负责将git(svn或本地文件系统)中存储的配置文件进行配置化(我们使用的是本地配置方案,方便直接将配置文件更新到linux上),

业务微服务通过配置从服务端配置中心获取相关配置,如果配置文件变动了,通过刷新业务微服务的方式,将最新的配置信息获取。

spring cloud Bus通过一个轻量级消息代理连接分布式系统的节点。这可以用于广播状态更改(如配置更改)或其他管理指令。

接下来,我们就来实施通过spring cloud Bus方案,动态刷新服务端配置,具体步骤如下:

  1. 业务微服务配置(以honghu-member-servcie会员服务为例):

pom文件配置:

<span style="font-size: 16px;">        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId><span style="font-size: 16px;">spring-boot-starter-actuator</span></artifactId>
        </dependency>
        
    <dependency>
         <groupId>org.springframework.cloud</groupId>
             <artifactId><span style="font-size: 16px;">spring-cloud-starter-bus-amqp</span></artifactId>
    </dependency></span>

yml文件配置:

<span style="font-size: 16px;">server:
  port: 5012
spring: 
  application:
    name: honghu-member-client
  profiles:
    active: dev,discoveryClient
  cloud:
    config:
      discovery: 
        enabled: true
        service-id: commonservice-config-server
      <span style="color: #ff0000;"><strong>name: honghu-member
      profile: dev
    bus:
      trace:
        enabled: true  #开启消息跟踪  </strong>        
  <strong>rabbitmq:
    host: 192.168.1.254
    port: 5672
    username: honghu
    password: honghu</strong>  </span> 
eureka:
  client:
    serviceUrl:
      defaultZone: http://honghu:123456@localhost:8761/eureka/
  instance:
    prefer-ip-address: true
logging:
  level:
    root: INFO
    org.springframework.security: INFO
management:
  security:
    enabled: false
security:
  basic:
    enabled: false</span>
  1. 查看注册中心,commonservice-config、honghu-member-service服务是否已经注册成功
  1. 访问一下profile,获取profile对应的配置信息(原配置):

访问http://localhost:7071/profile ==》 访问结果:123456

  1. 修改config配置中心的配置文件,将profile=123456修改为honghu123456

再次访问http://localhost:7071/profile ==》 访问结果:123456

  1. 使用spring cloud bus 刷新方案(使用post man测试工具进行测试)

http://localhost:7071/bus/refresh

再次访问http://localhost:7071/profile ==》 访问结果:honghu123456

到此,整个commonservice-config配置中心动态刷新方案整理完毕!

欢迎大家和我一起学习spring cloud构建微服务云架构,我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。

完整项目的源码来源 技术支持1791743380

目录
相关文章
|
2月前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
195 0
|
2月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
121 0
|
19天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
1月前
|
开发框架 负载均衡 Java
Spring boot与Spring cloud之间的关系
总之,Spring Boot和Spring Cloud之间的关系是一种构建和扩展的关系,Spring Boot提供了基础,而Spring Cloud在此基础上提供了分布式系统和微服务架构所需的扩展和工具。
23 4
Spring boot与Spring cloud之间的关系
|
2月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
71 1
|
2月前
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
237 0
|
2月前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
790 0
|
2月前
|
SpringCloudAlibaba Java 测试技术
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
46 1
|
2月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(五)OpenFeign的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(五)OpenFeign的使用
46 0
|
2月前
|
负载均衡 算法 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(四)Ribbon的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(四)Ribbon的使用
29 0