概述
SpringCloud Bus概述
SpringCloud Bus俗称消息总线,是用来把轻量级消息系统与分布式系统的节点连接起来的框架;它整合了java的事件处理机制和消息中间件的功能;可用于广播状态更改(如,配置更改)或其它管理指令,事件推送,也可以当作微服务间的通信通道;目前支持RabbitMQ和Kafka。
可以借助消息总线来帮你扩散消息(指令),如SpringCloud Bus配合SpringCloud Config使用可以实现配置的大量动态刷新。
相关面试题
1>进程间怎么通讯?
MQ HTTP TCP/IP协议。
2>线程间怎么通讯?
生产者消费者模型(等待唤醒)。
config服务端引入Bus:
第一步:pom文件
<!--bus和rabbitmq的集成依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency> <!--actuator的依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
关于actuator:
actuator是spring提供的一个监控模块,用于帮助我们监控管理微服务应用;其暴露了很多端点(url),通过这些不同的端点,我们可以全方面监控微服务应用,比如健康检查、审计、指标收集、HTTP跟踪等。在此,我们使用actuator主要用于监控和刷新配置文件。
第二步:配置文件:
#配置文件中心的服务名称 spring.application.name=config-server #配置文件中心的端口 -- 一般都是8888 8889 server.port=8888 #--------------------和git的关联配置----------------------------------------------- #gitee上的配置文件远程仓库的url地址 spring.cloud.config.server.git.uri=*** #gitee上的配置文件远程仓库中存放配置文件的目录路径 spring.cloud.config.server.git.search-paths=*** #登录gitee的用户名 spring.cloud.config.server.git.username=*** #登录gitee的密码 spring.cloud.config.server.git.password=*** #将gitee上的配置文件远程仓库中的配置文件缓存到本地的位置 spring.cloud.config.server.git.basedir=*** #----------------------rabbitmq的配置-------------------- #Bus组件默认配合RabbitMQ来实现,所以再这里需要借助RabbitMQ来实现 #RabbitMQ的服务器ip(linux的ip) spring.rabbitmq.host=*** #RabbitMQ的服务器端口 spring.rabbitmq.port=*** #用户名 spring.rabbitmq.username=*** #密码 spring.rabbitmq.password=*** #虚拟主机 spring.rabbitmq.virtual-host=*** #暴露actuator的所有监控端点(url) management.endpoints.web.exposure.include=*
config客户端引入Bus
第一步:pom文件
<!--bus和rabbitmq的集成依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency> <!--actuator的依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
第二步:配置文件
#config客户端的服务名称 spring.application.name=config-client #config客户端的端口 server.port=8080 #---config客户端从配置中心(config服务端)拉取配置文件的配置--- #配置中心(config服务端)的url地址 spring.cloud.config.uri=http://localhost:8888 #配置文件的读取规则是: #/{label}/{name}-{profile}.properties 或 /{label}/{name}-{profile}.yml #label是配置文件位于的分支名称,例如master主分支 #name是配置文件名称的前缀,例如config-dev.properties #profile是配置文件名称的环境,例如config-dev.properties spring.cloud.config.label=master spring.cloud.config.name=config spring.cloud.config.profile=dev #----------------------rabbitmq的配置-------------------- #RabbitMQ的服务器ip(linux的ip) spring.rabbitmq.host=*** #RabbitMQ的服务器端口 spring.rabbitmq.port=*** #用户名 spring.rabbitmq.username=*** #密码 spring.rabbitmq.password=*** #虚拟主机 spring.rabbitmq.virtual-host=*** #暴露actuator的所有监控端点(url) management.endpoints.web.exposure.include=*
核心步骤:
#以post方式向config服务端config-server发送刷新请求: http://localhost:8888/actuator/bus-refresh
发出刷新请求后,响应状态码为204的话,代表刷新成功,之后再访问时候,就解决了config的脏读效果
补充:局部刷新
#公式: http://配置中心ip:配置中心端口/actuator/bus-refresh/{destination} #destination指定的是具体的config客户端的服务名称:端口。
最后
以上就是健康寒风为你收集整理的SpringCloud之Bus的基础使用的全部内容,希望文章能够帮你解决SpringCloud之Bus的基础使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复