Spring Cloud实战(六)-Spring Cloud Netflix Bus
2019独角兽企业重金招聘Python工程师标准>>>
概要
- 什么是Spring Cloud Netflix Bus?
- 怎么用 Spring Cloud Netflix Bus?
什么是Spring Cloud Netflix Bus?
Spring Cloud Netflix Bus是Spring Cloud的消息机制,当Git Repository 改变时,通过POST请求Config Server的/bus/refresh,Config Server 会从repository获取最新的信息并通过amqp传递给client,如图所示.
Spring Cloud Bus的更新只对三种情况有效
- @ConfigurationProperties
- @RefreshScope
- 日志级别
怎么用Spring Cloud Netflix Bus?
百说不如一run,构造一个例子来实现
- 基于实战一的例子
- 下载并运行rabbit
- 在Config Server及client添加bus,actuator依赖
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>
@ConfigurationProperties 实现
- 修改Config Client 的LuckyWordController,注意去掉@Value注解,和添加getter/setter
@RestController
@ConfigurationProperties(prefix = "wordConfig")
public class LuckyWordController {String luckyWord;@RequestMapping("/lucky-word")public String showLuckyWord() {return "The lucky word is: " + luckyWord;}public String getLuckyWord() {return luckyWord;}public void setLuckyWord(String luckyWord) {this.luckyWord = luckyWord;}
}
@RefreshScope 实现
@RestController
@RefreshScope
public class LuckyWordController {@Value("${wordConfig.luckyWord}")String luckyWord;@RequestMapping("/lucky-word")public String showLuckyWord() {return "The lucky word is: " + luckyWord;}
}
- 修改git repository
wordConfig:luckyWord: mmb
- 查看http://localhost:8002/lucky-word
- 修改git repository
wordConfig:luckyWord: mmb222
- POST请求http://localhost:8001/bus/ref...
- 查看http://localhost:8002/lucky-word 是否改变
@ConfigurationProperties的改变时直接重新绑定
@RefreshScope不仅仅是重新绑定,它是重新再绑定一个bean.@RefreshScope的工作原理Spring创建一个代理Proxy,Proxy中包含注入的依赖及调用目标bean的方法,当更新Refresh时,新Proxy就会指向改变的bean,而老的Proxy还指向老的bean.所以它更安全
特别感谢 kennyk65
Spring Cloud 中文用户组 31777218
Spring-Cloud-Config 官方文档-中文译本
Spring Cloud Netflix 官网文档-中文译本
本文实例github地址
https://segmentfault.com/a/1190000006226542
转载于:https://my.oschina.net/xiaominmin/blog/1591002
Spring Cloud实战(六)-Spring Cloud Netflix Bus相关推荐
- Spring Security 实战:Spring Boot 下的自动配置
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「码农小胖哥」 1. 前言 我们在前几篇 ...
- Spring Boot系列六 Spring boot集成mybatis、分页插件pagehelper
1. 概述 本文的内容包括如下内容: Spring Boot集成mybatis Spring Boot集成pagehelper分页插件,定义分页的相关类 实现工具类:model转dto,实现数据层和传 ...
- 【spring cloud】(六)消息总线——springcloud Bus
各位小伙伴们大家好,欢迎来到这个小扎扎的spring cloud专栏,在这个系列专栏中我对B站尚硅谷阳哥的spring cloud教程进行一个总结,鉴于 看到就是学到.学到就是赚到 精神,这波依然 ...
- 【struts2+hibernate+spring项目实战】Spring计时器任务 Spring整合JavaMail(邮件发送)(ssh)
一.常用数据频度维护 对于系统使用度较高的数据,客户在查看时希望这些数据最好先出现,此时需要为其添加排序规则.在进行排序时,使用次数成为排序的依据.因此需要设置一个字段用来描述某种数据的使用次数,也就 ...
- Spring Security 实战:基于配置的接口角色访问控制
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 码农小胖哥 来源 | 公众号「码农小胖哥」 1 ...
- Spring Security 实战干货: RBAC权限控制概念的理解
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 码农小胖哥 来源 | 公众号「码农小胖哥」 1 ...
- Spring Security 实战:使用 JWT 认证访问接口
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 1. 前言 欢迎阅读Spring Security 实战 ...
- Spring Security 实战:自定义异常处理
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 1. 前言 最近实在比较忙,很难抽出时间来继续更 [S ...
- Spring Security 实战干货:玩转自定义登录
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 1. 前言 前面的关于 Spring Security ...
- Spring Boot实战pdf
下载地址:网盘下载 Spring Boot实战以Spring应用程序开发为中心,全面讲解如何运用Spring Boot提高效率,使应用程序的开发和管理更加轻松有趣.作者行文亲切流畅,以大量示例讲解了S ...
最新文章
- Oracle数据库之集合运算
- zsh 隐藏用户名和主机
- 【iOS7一些总结】9、与列表显示(在):列表显示UITableView
- WebSocket实现实时通信
- 希捷银河声音大_【推仔说新闻】那款硬盘它终于来了 希捷推出首款双磁臂硬盘...
- hihoCoder挑战赛14 -1223
- 探索Google App Engine背后的奥秘(5)- Datastore的设计(转载)
- shell自动交互之expect脚本_转
- 《大话数据结构》读后总结(八)
- VC 2015 x86的DLL绿色包(QT 5.6)
- 计算机桌面出现蓝色底色,电脑桌面图标有蓝色阴影 - 电脑桌面图标有蓝底怎么办 - 安全专题...
- 【保姆级教程】VMware+CentOS 7 配置静态IP(小名已排雷,放心跟着教程走)
- QT 简单实现自定义标题栏
- 云服务器系列2-frp-云服务器内网穿透windows远程控制实践
- Lipschitz 条件
- Windows平台chrome webdriver的下载与安装
- WinForm常用控件
- 华为ac配置radius认证服务器_华为无线控制器启用802.1X认证配置
- Monkey框架(测试方法篇) - monkey测试实例
- Linux环境问题--Miniconda安装python环境搭建