目录
- 快速开始
- 处理实例
- 寻址服务的所有实例
- 应用程序上下文ID必须唯一
- 自定义Message Broker
- 追踪Bus事件
- 广播自己的事件
- 在自定义包中注册事件
Spring Cloud Bus将分布式系统的节点与轻量级消息代理链接。这可以用于广播状态更改(例如配置更改)或其他管理指令。一个关键的想法是,Bus就像一个扩展的Spring Boot应用程序的分布式执行器,但也可以用作应用程序之间的通信渠道。当前唯一的实现是使用AMQP代理作为传输,但是相同的基本功能集(还有一些取决于传输)在其他传输的路线图上。
快速开始
Spring Cloud Bus通过添加Spring Boot自动配置,如果它在类路径上检测到自己的工作。所有您需要做的是启用总线是将spring-cloud-starter-bus-amqp
或spring-cloud-starter-bus-kafka
添加到您的依赖关系管理中,Spring Cloud负责其余部分。确保代理(RabbitMQ或Kafka)可用和配置:在本地主机上运行您不应该做任何事情,但如果您远程运行使用Spring Cloud Connectors或Spring Boot约定定义经纪人凭据,例如Rabbit
application.yml
spring:
rabbitmq:
host: mybroker.com
port: 5672
username: user
password: secret
总线当前支持向所有节点发送消息,用于特定服务(由Eureka定义)监听或所有节点。未来可能会添加更多的选择器标准(即,仅数据中心Y中的服务X节点等)。/bus/*
执行器命名空间下还有一些http端点。目前有两个实施。第一个/bus/env
发送密钥/值对来更新每个节点的Spring环境。第二个/bus/refresh
将重新加载每个应用程序的配置,就像在他们的/refresh
端点上都被ping过的一样。
注意 |
Bus初学者涵盖了Rabbit和Kafka,因为这是两个最常见的实现,但Spring Cloud Stream非常灵活,绑定将与 |