(十四)java版spring cloud+spring boot 社交电子商务平台-使用spring cloud Bus刷新配置...
电子商务平台源码请加企鹅求求:一零三八七七四六二六。我们使用spring cloud分布式微服务云架构做了b2b2c的电子商务系统,除了架构本身自带的系统服务外,我们将b2b2c的业务服务进行了细粒度拆分,做成了不同的业务微服务。
当我们的业务系统越来越庞大复杂的时候,各种配置也会随之增多。配置文件只要一修改,会对commonservice-config配置中心先停止服务,然后再重新启动,最后使配置生效。
如果服务少,我们可以手动方式来启动,但是对业务和系统的稳定性肯定有一定的影响。
如果是成百上千的服务都靠手动操作,我估计运维人员或技术人员会疯掉的。
针对以上问题,commonservice-config服务端和业务微服务分别做了相关的配置,服务端负责将git(svn或本地文件系统)中存储的配置文件进行配置化(我们使用的是本地配置方案,方便直接将配置文件更新到linux上),
业务微服务通过配置从服务端配置中心获取相关配置,如果配置文件变动了,通过刷新业务微服务的方式,将最新的配置信息获取。
spring cloud Bus通过一个轻量级消息代理连接分布式系统的节点。这可以用于广播状态更改(如配置更改)或其他管理指令。
接下来,我们就来实施通过spring cloud Bus方案,动态刷新服务端配置,具体步骤如下:
业务微服务配置(以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>
复制代码
- 查看注册中心,commonservice-config、honghu-member-service服务是否已经注册成功
- 访问一下profile,获取profile对应的配置信息(原配置):
访问http://localhost:7071/profile ==》 访问结果:123456
- 修改config配置中心的配置文件,将profile=123456修改为honghu123456
再次访问http://localhost:7071/profile ==》 访问结果:123456
- 使用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刷新配置...相关推荐
- (四)java版spring cloud+spring boot 社交电子商务平台-断路器(Hystrix)
b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTempl ...
- (四十三)java版spring cloud+spring boot+redis多租户社交电子商务平台-eureka集群整合config配置中心...
电子商务平台源码请加企鹅求求:三五三六二四七二五九.加入依赖 <dependencies><!-- 监控 --><dependency><groupId> ...
- (二十)java版spring cloud+spring boot 社交电子商务平台-spring cloud构建全球多租户分布式微服务部署的方案...
电子商务平台源码请加企鹅求求:一零三八七七四六二六.最近在用spring cloud分布式微服务云架构做一个全球多租户分布式部署的方案,我在这里只是简单的记录,当前的架构图只能是一个大概的方案,具体实 ...
- java版spring cloud+spring boot 社交电子商务平台(二)Eureka(服务注册和服务发现基础篇)
一:Eureka简介 Eureka是Spring Cloud Netflix的一个子模块,也是核心模块之一.用于云端服务发现,一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移. ...
- (八)java版spring cloud+spring boot 社交电子商务平台-消息总线(Spring Cloud Bus)
电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控.本文要 ...
- (十七)java版spring cloud+spring boot 社交电子商务平台-spring+springmvc+kafka分布式消息中间件集成方案...
电子商务平台源码请加企鹅求求:一零三八七七四六二六.kafka消息平台使用spring+kafka的集成方案,详情如下: 使用最高版本2.1.0.RELEASE集成jar包:spring-integr ...
- (二)java版spring cloud+spring boot 社交电子商务平台 - 整合企业架构的技术点
2019独角兽企业重金招聘Python工程师标准>>> 电子商务平台源码请加企鹅求求:一零三八七七四六二六.spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式 ...
- java版spring cloud+spring boot 社交电子商务平台:服务消费(基础)
使用LoadBalancerClient Spring cloud b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.在Spring Cloud Commons中提供了大量的与服务治理 ...
- (三)java版spring cloud+spring boot 社交电子商务平台 - Spring Cloud集成项目简介
2019独角兽企业重金招聘Python工程师标准>>> 电子商务平台源码请加企鹅求求:一零三八七七四六二六.Spring Cloud集成项目有很多,下面我们列举一下和Spring C ...
最新文章
- Python实现微信消息防撤回
- oracle中右击出现的含义,Oracle中经典的问题解决方案-Oracle
- linux 视频转gif,GitHub - alinuxsa/VideoToGIF: video to gif 视频转gif制作表情包插件(可以添加文字)...
- damage framework can be used by economics
- ArcGIS 10——地理数据库管理GIS数据
- Dictionary 序列化与反序列化
- 是时候“扶正”QQ了
- 工作中学习,学习中成长
- 数字反转(NOIP2011 普及组第一题)
- bat命令调用rar进行文件夹压缩
- max30102c语言程序,STM32驱动MAX30102源码
- 多比特杯第四届ACM程序设计竞赛同步赛
- Eloquent: 修改器
- PS一些简单的非主流照片效果
- 操作系统有哪些.智能手机的操作系统有哪些?
- 2019蓝桥杯本科B组C-C++决赛题 (题解随后出)
- NLP 基础应用研究方向简介
- 免费阅读里的“B站”,后浪已乘“疯”
- 如何设置maya的Render.exe程序来mayabatch批量渲染
- PMI-ACP练习题(15)