电子商务平台源码请加企鹅求求:一零三八七七四六二六。我们使用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="font-size: 16px;"><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>
复制代码

编写一个测试类(MemberController.java),用来获取配置项

<span style="font-size: 16px;">package com.honghu.cloud.controller;  import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;  <strong>@RefreshScope</strong>
@RestController
public class MemberController {  @Value("${profile}")  private String profile;  @GetMapping("/profile")  public String getProfile() {  return this.profile;  }
}</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架构的搭建过程及如何运用于企业项目。

转载于:https://juejin.im/post/5ceb53a4f265da1b9612e15f

(十四)java版spring cloud+spring boot 社交电子商务平台-使用spring cloud Bus刷新配置...相关推荐

  1. (四)java版spring cloud+spring boot 社交电子商务平台-断路器(Hystrix)

    b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTempl ...

  2. (四十三)java版spring cloud+spring boot+redis多租户社交电子商务平台-eureka集群整合config配置中心...

    电子商务平台源码请加企鹅求求:三五三六二四七二五九.加入依赖 <dependencies><!-- 监控 --><dependency><groupId> ...

  3. (二十)java版spring cloud+spring boot 社交电子商务平台-spring cloud构建全球多租户分布式微服务部署的方案...

    电子商务平台源码请加企鹅求求:一零三八七七四六二六.最近在用spring cloud分布式微服务云架构做一个全球多租户分布式部署的方案,我在这里只是简单的记录,当前的架构图只能是一个大概的方案,具体实 ...

  4. java版spring cloud+spring boot 社交电子商务平台(二)Eureka(服务注册和服务发现基础篇)

    一:Eureka简介 Eureka是Spring Cloud Netflix的一个子模块,也是核心模块之一.用于云端服务发现,一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移. ...

  5. (八)java版spring cloud+spring boot 社交电子商务平台-消息总线(Spring Cloud Bus)

    电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控.本文要 ...

  6. (十七)java版spring cloud+spring boot 社交电子商务平台-spring+springmvc+kafka分布式消息中间件集成方案...

    电子商务平台源码请加企鹅求求:一零三八七七四六二六.kafka消息平台使用spring+kafka的集成方案,详情如下: 使用最高版本2.1.0.RELEASE集成jar包:spring-integr ...

  7. (二)java版spring cloud+spring boot 社交电子商务平台 - 整合企业架构的技术点

    2019独角兽企业重金招聘Python工程师标准>>> 电子商务平台源码请加企鹅求求:一零三八七七四六二六.spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式 ...

  8. java版spring cloud+spring boot 社交电子商务平台:服务消费(基础)

    使用LoadBalancerClient Spring cloud b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.在Spring Cloud Commons中提供了大量的与服务治理 ...

  9. (三)java版spring cloud+spring boot 社交电子商务平台 - Spring Cloud集成项目简介

    2019独角兽企业重金招聘Python工程师标准>>> 电子商务平台源码请加企鹅求求:一零三八七七四六二六.Spring Cloud集成项目有很多,下面我们列举一下和Spring C ...

最新文章

  1. Python实现微信消息防撤回
  2. oracle中右击出现的含义,Oracle中经典的问题解决方案-Oracle
  3. linux 视频转gif,GitHub - alinuxsa/VideoToGIF: video to gif 视频转gif制作表情包插件(可以添加文字)...
  4. damage framework can be used by economics
  5. ArcGIS 10——地理数据库管理GIS数据
  6. Dictionary 序列化与反序列化
  7. 是时候“扶正”QQ了
  8. 工作中学习,学习中成长
  9. 数字反转(NOIP2011 普及组第一题)
  10. bat命令调用rar进行文件夹压缩
  11. max30102c语言程序,STM32驱动MAX30102源码
  12. 多比特杯第四届ACM程序设计竞赛同步赛
  13. Eloquent: 修改器
  14. PS一些简单的非主流照片效果
  15. 操作系统有哪些.智能手机的操作系统有哪些?
  16. 2019蓝桥杯本科B组C-C++决赛题 (题解随后出)
  17. NLP 基础应用研究方向简介
  18. 免费阅读里的“B站”,后浪已乘“疯”
  19. 如何设置maya的Render.exe程序来mayabatch批量渲染
  20. PMI-ACP练习题(15)

热门文章

  1. css怎么把横向菜单变纵向_CSS 布局模式 + 居中布局
  2. vscode中experimentaldecorators报错
  3. echarts中国地图线性动画特效
  4. nginx配置https以及出现的各种问题
  5. java设计模式之设计原则④接口隔离原则
  6. Eigen与Matlab语法及语义辞典
  7. Boost多线程-替换MFC线程
  8. 微信小程序支付,带java源码
  9. kafka0.8消费者实例
  10. 一站式金融云托管服务 都匀融通村镇银行系统成功上线运行