SpringCloud Bus如何实现配置刷新

要想实现配置刷新,首先得有项目基础结构

  • 项目一: 注册中心
  • 项目二: 配置中心
  • 项目三: 客户端

先启动注册中心

然后启动配置中心

然后在不同端口启动客户端的多个实例,这些实例都是通过bootstrap.properties连接到配置中心后,加载相应配置后启动的.

成功完成上述基础设施,才开始关注配置刷新.

==========================================================================================

SpringCloud Bus实现配置刷新只需要做以下几点:

1. 在配置中心和客户端都添加依赖: spring-cloud-starter-bus-amqp

说明: bus表示引入的是SpringCloud Bus的依赖, amqp表示bus的消息传递功能是通过rabbitmq实现.(如果想通过kafka实现,则对应的依赖是spring-cloud-starter-bus-kafka)

2. 在配置中心和客户端都添加连接消息中间件的配置,由于amqp用的是rabbitmq消息中间件,因此对应的配置是:

spring.rabbitmq.host=localhost
spring.rabbitmq.password=wwx614831
spring.rabbitmq.username=wwx614831
spring.rabbitmq.port=5672

3. 在配置中心的配置中加入不进行权限检查的配置:

management.security.enabled=false
4. 使用:

  通过获取配置文件中一个示例属性值,来判断配置是否真的刷新

  刷新前: 获取name属性值=wangxuejian

  更改为: name=xuejian

  刷新: 调用配置中心的bus/refresh接口

  看效果: 获取name属性值变成xuejian,且多个实例都改变了.

5. 注意:

  把需要刷新配置的Bean上标注@RefreshScope注解.

总结:

1. 首先搭建基础架构,实现配置中心和注册中心的正常使用

2. 使用什么消息中间件,就引入什么中间件的依赖

3. 跳过安全检查,避免401问题

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 利用Spring Cloud Config结合Bus实现分布式配置中心的步骤

    概述 假设现在有个需求: 我们的应用部署在10台机器上,当我们调整完某个配置参数时,无需重启机器,10台机器自动能获取到最新的配置. 如何来实现呢?有很多种,比如: 1.将配置放置到一个数据库里面,应用每次读取配置都是直接从DB读取.这样的话,我们只需要做一个DB变更,把最新的配置信息更新到数据库即可.这样无论多少台应用,由于都从同一个DB获取配置信息,自然都能拿到最新的配置. 2.每台机器提供一个更新配置信息的updateConfig接口,当需要修改配置时,挨个调用服务器的updateConf

  • SpringCloud Bus 消息总线的具体使用

    什么是消息总线 1. 概念 在微服务架构中,通常会使用轻量级的消息代理来构建一个共用的消息主题来连接各个微服务实例, 它广播的消息会被所有在注册中心的微服务实例监听和消费,也称消息总线 2. SpringCloud Bus SpringCloud中也有对应的解决方案,SpringCloud Bus 将分布式的节点用轻量的消息代理连接起来, 可以很容易搭建消息总线,配合SpringCloud config 实现微服务应用配置信息的动态更新. 3. 其他 消息代理属于中间件.设计代理的目的就是为了能

  • SpringCloud Feign如何在远程调用中传输文件

    1. 文件远程传输主要涉及3点: 请求方式, 媒体类型, 序列化与反序列化, 把握住了这3点,基本上就可以搞 2. 使用Feign传输,首先搭建起Feign的架子 2.1 引入spring-cloud-starter-eureka-server依赖,用于启动一个eureka注册中心 2.2 引入spring-cloud-starter-eureka依赖,用于开启向eureka注册中心注册自己 2.3 在调用远程服务的客户端引入spring-cloud-starter-feign, 用于使用fei

  • SpringCloud消息总线Bus配置中心实现过程解析

    介绍和使用场景 1)什么是消息 一个事件,需要广播或者单独传递给某个接口 2)为什么使用这个 配置更新了,但是其他系统不知道是否更新 SpringCloud配置中心可参考: https://www.jb51.net/article/182888.htm 1.安装RabbitMQ 下载地址: http://erlang.org/download/ Erlang版本:Erlang OTP 21:10.0.1 下载地址: https://www.rabbitmq.com/install-windows

  • Springboot整合Spring Cloud Kubernetes读取ConfigMap支持自动刷新配置的教程

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Docker & Kubernetes相关文章:容器技术 之前介绍了Spring Cloud Config的用法,但对于Kubernetes应用,可能会需要读取ConfigMap的配置,我们看看Springboot是如何方便地读取ConfigMap和Secret. 2 整合Spring Cloud Kubenetes Spring Cloud Kubernetes提供了Spring Cloud应用与Kubernetes服

  • SpringCloud Bus消息总线的实现

    好了现在我们接着上一篇的随笔,继续来讲.上一篇我们讲到,我们如果要去更新所有微服务的配置,在不重启的情况下去更新配置,只能依靠spring cloud config了,但是,是我们要一个服务一个服务的发送post请求, 我们能受的了吗?这比之前的没配置中心好多了,那么我们如何继续避免挨个挨个的向服务发送Post请求来告知服务,你的配置信息改变了,需要及时修改内存中的配置信息. 这时候我们就不要忘记消息队列的发布订阅模型.让所有为服务来订阅这个事件,当这个事件发生改变了,就可以通知所有微服务去更新

  • SpringCloud之消息总线Spring Cloud Bus实例代码

    一.简介 在微服务架构的系统中,我们通常会使用轻量级的消息代理来构建一个共用的消息主题让系统中所有微服务实例都连接上来,由于该主题中产生的消息会被所有实例监听和消费,所以我们称它为消息总线. 二.消息代理 消息代理(Message Broker)是一种消息验证.传输.路由的架构模式.它在应用程序之间起到通信调度并最小化应用之间的依赖的作用,使得应用程序可以高效地解耦通信过程.消息代理是一个中间件产品,它的核心是一个消息的路由程序,用来实现接收和分发消息, 并根据设定好的消息处理流来转发给正确的应

  • SpringCloud之Feign远程接口映射的实现

    一.简介 SpringCloud是基于Restful的远程调用框架,引入Ribbon负载均衡组件后还需要客户端使用RestTemplate调用远程接口,操作起来还显得繁琐.SpringCloud提供了远程接口映射,将远程Restful服务映射为远程接口,消费端注入远程接口即可实现方法调用. 二.流程 1.新建远程接口映射模块service-api,并引入Feign接口映射依赖 <dependencies> <dependency> <groupId>org.spring

  • SpringCloud Bus如何实现配置刷新

    要想实现配置刷新,首先得有项目基础结构 项目一: 注册中心 项目二: 配置中心 项目三: 客户端 先启动注册中心 然后启动配置中心 然后在不同端口启动客户端的多个实例,这些实例都是通过bootstrap.properties连接到配置中心后,加载相应配置后启动的. 成功完成上述基础设施,才开始关注配置刷新. ========================================================================================== Spri

  • SpringCloud Bus组件的使用配置详解

    目录 什么是Bus 搭建RabbitMQ服务 实现自动配置刷新 指定服务刷新配置 集成webhook实现自动刷新 什么是Bus 0.解释 https://spring.io/projects/spring-cloud-bus springcloudbus使用轻量级消息代理将分布式系统的节点连接起来.然后,可以使用它来广播状态更改(例如配置更改)或其他管理指令.AMQP和Kafka broker实现包含在项目中.或者,在类路径上找到的任何springcloudstream绑定器都可以作为传输使用.

  • SpringCloud配置刷新原理解析

    我们知道在SpringCloud中,当配置变更时,我们通过访问http://xxxx/refresh,可以在不启动服务的情况下获取最新的配置,那么它是如何做到的呢,当我们更改数据库配置并刷新后,如何能获取最新的数据源对象呢?下面我们看SpringCloud如何做到的. 一.环境变化 1.1.关于ContextRefresher 当我们访问/refresh时,会被RefreshEndpoint类所处理.我们来看源代码: /* * Copyright 2013-2014 the original a

  • SpringCloud Bus组件的使用

    目录 什么是Bus 搭建RabbitMQ服务 实现自动配置刷新 指定服务刷新配置 集成webhook实现自动刷新 什么是Bus 0.解释 https://spring.io/projects/spring-cloud-bus springcloudbus使用轻量级消息代理将分布式系统的节点连接起来.然后,可以使用它来广播状态更改(例如配置更改)或其他管理指令.AMQP和Kafka broker实现包含在项目中.或者,在类路径上找到的任何springcloudstream绑定器都可以作为传输使用.

  • Springcloud Bus消息总线原理是实现详解

    目录 springcloud Bus 什么是springcloud Bus 什么是消息总线 Bus实现自动刷新的原理 RabbitMQ的下载配置 Erlang RabbitMQ Bus动态刷新 全局广播通知代码实现 定点通知代码实现 springcloud Bus 什么是springcloud Bus   上一章的springcloud Bus是对分布式微服务的远程配置,但是有一个遗留的问题就是,Config客户端对远程配置的刷新需要手动使用post请求来完成,这就使得Config客户端动态刷新

  • spring cloud config和bus组件实现自动刷新功能

    1.启动RabbitMQ 2.修改config服务端 依赖:(boot和cloud版本不要太高,不然刷新配置的请求不能用) <dependencies> <!--consul--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> &

  • SpringCloud Gateway跨域配置代码实例

    这篇文章主要介绍了SpringCloud Gateway跨域配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Springboot版本:2.1.8.RELEASE SpringCloud版本:Greenwich.SR2 yml配置: spring: cloud: gateway: globalcors: cors-configurations: '[/**]': # 允许携带认证信息 # 允许跨域的源(网站域名/ip),设置*为全部

  • SpringCloud用Zookeeper搭建配置中心的方法

    本文介绍了SpringCloud +Zookeeper完成配置中心,分享给大家,具有如下: 使用场景 项目配置更改不需要打包,重启 提供配置文件的可视化界面 和springcloud快速整合 为什么使用zookeeper Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储, Zookeeper 作用主要是用来维护和监控存储的数据的状态变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理. 怎么使

随机推荐