这里是修真院后端小课堂,每篇分享文从
【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】
八个方面深度解析后端知识/技能,本篇分享的是:
【什么是SpringCloudBus?如何使用SpringCloudBus实现自动更新配置?】
大家好,我是IT修真院深圳分院第十一期学员,一枚正直纯洁善良的JAVA程序员。
今天给大家分享一下,修真院官网JAVA任务十的一个知识点:什么是SpringCloudBus?如何使用SpringCloudBus实现自动更新配置?
1 背景介绍
1.1 SpringCloud简介
springCloud是基于SpringBoot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。
SpringBoot旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能
2 知识剖析
2.1 什么是消息总线?
在微服务架构的系统中,我们通常会使用轻量级的消息代理来构建一个共用的消息主题让系统中所有微服务实例都连接上来,由于该主题中产生的消息会被所有实例监听和消费,所以我们称它为消息总线。
2.2 什么是SpringCloudBus?
Spring cloud bus即SpringCloud框架的消息总线。其本质是利用了MQ的广播机制在分布式的系统中传播消息,目前常用的有Kafka和RabbitMQ。利用bus的机制可以做很多的事情,其中配置中心客户端刷新就是典型的应用场景之一。
2.3 使用SpringCloudBus实现自动更新配置的步骤有哪些?
1) 设置配置中心,config-server,从git获取配置信息;
2) 在service中调用config-server中的相关配置;
3) 在service中导入SpringCloudBus相关依赖,配置RabbitMq;
4) 在需要刷新配置的Controller上添加@RefreshScope注解
5) 在GitHub上配置WebHook,设置更新properties文件后向config-server发送post请求。
3 常见问题
如何使用SpringCloudBus实现自动更新配置
4 解决方案
1、见编码实战
5 编码实战
config-server的yml配置
http://localhost:8090/eureka/ config-server https://github.com/ respo master localhost guest guest bus-refresh
service的yml配置
service-hi master dev http://193.112.20.68:8091/ 193.112.201.68 guest guest http://193.112.20.68:8090/eureka/ localhost
6 扩展思考
7 参考文献
CSDN、百度百科
8 更多讨论
8.1 @RefreshScope的作用是什么?
该注解用来标注需要刷新的类,只有加上了这个注解,才会对这个类所引用的配置进行刷新。
8.2 服务注册中心、服务配置中心和具体的服务模块是不是必须要放在同一个服务器上?
不需要,只需要在yml文件中指定地、开放相关的端口即可。
8.3 GitHub的webHook功能如何配置?
1) 找到连接的库,打开Setting页面;
2) 选择webHook,新增webhook;
3) 填写发送POST请求的地址及何时发送POST请求
技能树.IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。
快来与我一起学习吧~http://www.jnshu.com/login/1/24864700
腾讯视频:https://v.qq.com/x/page/c0719197opo.html
更多内容,可以加入IT交流群565734203与大家一起讨论交流
这里是技能树·IT修真院:http://www.jsnhu.com,初学者转行到互联网的聚集地