博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java B2B2C 源码 多级分销Springcloud多租户电子商城系统-使用spring cloud Bus刷新配置...
阅读量:6273 次
发布时间:2019-06-22

本文共 1816 字,大约阅读时间需要 6 分钟。

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

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

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

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

针对以上问题,commonservice-config服务端和业务微服务分别做了相关的配置,服务端负责将git(svn或本地文件系统)中存储的配置文件进行配置化,业务微服务通过配置从服务端配置中心获取相关配置,如果配置文件变动了,通过刷新业务微服务的方式,将最新的配置信息获取。

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

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

1 新建项目microservice-config-client-refresh-cloud-bus

2 为项目添加spring-cloud-starter-bus-amqp依赖

org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-config
org.springframework.boot
spring-boot-starter-actuator
org.springframework.cloud
spring-cloud-starter-bus-amqp

修改bootstrap.yml内容

spring:  application:    name: microservice-foo    # 对应config server所获取的配置文件的{application}  cloud:    config:      uri:http://localhost:8080/      profile: dev            # profile对应config server所获取的配置文件中的{profile}      label: master           # 指定Git仓库的分支,对应config server所获取的配置文件的{label}  rabbitmq:    host: localhost    port: 5672    username: guest    password: guest

测试

1 启动microservice-config-server。
2 启动microservice-config-client-refresh-cloud-bus。
3 将microservice-config-client-refresh-cloud-bus端口改为8082,再启动一个节点。
4 访问此时获得结果:dev-1.0
5 将Git仓库中的microservice-foo-dev.properties文件内容修改为profile=dev-1.0-bus
6 发送POST请求到一个Config Client实例的/bus/refresh
7 访问两个Config Client实例的/bus/refresh端点,会发现两个节点都返回profile=dev-1.0-bus

转载地址:http://rwmpa.baihongyu.com/

你可能感兴趣的文章
zip 数据压缩
查看>>
Python爬虫学习系列教程
查看>>
【数据库优化专题】MySQL视图优化(二)
查看>>
【转载】每个程序员都应该学习使用Python或Ruby
查看>>
mongoose crud
查看>>
[Head First设计模式]山西面馆中的设计模式——装饰者模式
查看>>
PHP高级编程之守护进程,实现优雅重启
查看>>
PHP字符编码转换类3
查看>>
【2016阿里安全峰会】解读安全人才缺乏困境破解之法【附PDF下载】
查看>>
50条大牛C++编程开发学习建议
查看>>
rsync同步服务配置手记
查看>>
Android下创建一个sqlite数据库
查看>>
数组<=>xml 相互转换
查看>>
MFC单文档应用程序显示图像
查看>>
DT科技评论:第2期
查看>>
poj 2777(线段树的节点更新策略)
查看>>
Swift-EasingAnimation
查看>>
[翻译] BKZoomView
查看>>
C++类设计的一些心得
查看>>
tableVIew删除时的delete按钮被挡住时重写的方法
查看>>