赞
踩
总线,在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共用的消息主题,并让系统中所有微服务实例都连接上来,由于该主题中产生的消息会被所有实例监听和消费,所以称他为消息总线。在总线上的各个实例,都可以方便地广播一些需要让他连接,在该主题上的实例都知道的消息
Spring Cloud Bus用轻量级消息代理链接分布式系统的节点。然后可以使用此代理来广播状态更改(例如配置更改)或其他管理指令。一个关键的想法是,该总线就像用于Spring Boot应用的分布式致动器,可以横向扩展。但是,它也可以用作应用之间的通信渠道。
ConfigClient实例监听MQ中同一个topic(默认是springCloudBus)。当一个服务刷新数据的时候,它会把这个消息放入到Topic中,这样同一Topic的服务就能得到通知,然后去更新自身的配置
本章使用RabbitMQ,RabbitMQ知识参考:【RabbitMQ】 RabbitMQ 基本概念及测试
使用项目,搭建参考上一章:【SpringCloud】Spring Cloud Config 客户端(二十一)
一个Eureka注册中心8761,一个配置中心8888,两个配置客户端8889、8890
其中配置中心和客户端,都需要引入Spring Cloud Bus依赖
1 <!-- 添加消息总线RabbitMQ支持 --> 2 <dependency> 3 <groupId>org.springframework.cloud</groupId> 4 <artifactId>spring-cloud-starter-bus-amqp</artifactId> 5 </dependency>
客户端8890与客户端8889内容相同
客户端pom依赖如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <parent> 6 <artifactId>test-springcloud</artifactId> 7 <groupId>com.test</groupId> 8 <version>1.0-SNAPSHOT</version> 9 </parent> 10 <modelVersion>4.0.0</modelVersion> 11 12 <artifactId>springcloud-config-client8890</artifactId> 13 14 <dependencies> 15 16 <!-- 添加消息总线RabbitMQ支持 --> 17 <dependency> 18 <groupId>org.springframework.cloud</groupId> 19 <artifactId>spring-cloud-starter-bus-amqp</artifactId> 20 </dependency> 21 22 <!-- spring cloud config client--> 23 <dependency> 24 <groupId>org.springframework.cloud</groupId> 25 <artifactId>spring-cloud-starter
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。