咱们使用spring cloud分布式微服务云架构作了b2b2c的电子商务系统,除了架构自己自带的系统服务外,咱们将b2b2c的业务服务进行了细粒度拆分,作成了不一样的业务微服务。java
当咱们的业务系统愈来愈庞大复杂的时候,各类配置也会随之增多。配置文件只要一修改,会对commonservice-config配置中心先中止服务,而后再从新启动,最后使配置生效。linux
若是服务少,咱们能够手动方式来启动,可是对业务和系统的稳定性确定有必定的影响。git
若是是成百上千的服务都靠手动操做,我估计运维人员或技术人员会疯掉的。spring
针对以上问题,commonservice-config服务端和业务微服务分别作了相关的配置,服务端负责将git(svn或本地文件系统)中存储的配置文件进行配置化(咱们使用的是本地配置方案,方便直接将配置文件更新到linux上),架构
业务微服务经过配置从服务端配置中心获取相关配置,若是配置文件变更了,经过刷新业务微服务的方式,将最新的配置信息获取。app
spring cloud Bus经过一个轻量级消息代理链接分布式系统的节点。这能够用于广播状态更改(如配置更改)或其余管理指令。框架
接下来,咱们就来实施经过spring cloud Bus方案,动态刷新服务端配置,具体步骤以下:运维
2. 业务微服务配置(以honghu-member-servcie会员服务为例):分布式
pom文件配置:svn
<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>
3. 查看注册中心,commonservice-config、honghu-member-service服务是否已经注册成功
4. 访问一下profile,获取profile对应的配置信息(原配置):
访问http://localhost:7071/profile ==》 访问结果:123456
5. 修改config配置中心的配置文件,将profile=123456修改成honghu123456
再次访问http://localhost:7071/profile ==》 访问结果:123456
6. 使用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