Spring Cloud 之Spring Cloud Bus(二)

来源:互联网 发布:阿伦特海德格尔 知乎 编辑:程序博客网 时间:2024/04/28 15:59

一、介绍

    Spring Cloud Bus 使用消息中间件连接分布式系统的各个节点,然后可以使用它来广播状态更改(例如配置更改)或其他管理指令。一个关键的想法是,总线就像一个分布式执行器,用于启动一个扩展的Spring引导应用程序,但它也可以用作应用程序之间的通信通道。目前只实现了一个AMQP协议的中间件作为传输。Spring Cloud Bus目前只实现了Rabbitmq 和kafka作为消息中间件。

二、环境准备

   下面以Rabbitmq 作为消息中间件讲解Spring Cloud Bus

   需要下载安装erlang,rabbitmq, 启动rabbitmq服务。

三、在Config Client中增加一个依赖包spring-cloud-start-bu-amqp

<dependency>   <groupId>org.springframework.cloud</groupId>   <artifactId>spring-cloud-starter-bus-amqp</artifactId></dependency>
在bootstrap.yml 增加配置rabbitmq相关配置

spring:  application:    name: spring-cloud-config-client  profiles:    active: dev  cloud:    config:      uri: http://localhost:8888      profile: dev  rabbitmq:    host: localhost    port: 5672    username: guest    password: guestmanagement:  security:    enabled: falseserver:  port: 9000

host 主机名

port:端口号

username:用户名

password:密码


启动两个实例,使用两个端口号:9000 和9001 ,修改foo配置信息  ,我们只更新9000这个应用的配置,如果9001也更新了,说明Spring Cloud Bus 起作用了。在命令行执行 curl -X POST http://localhost:9000/bus/refresh 后

分别访问 http://localhost:9000/hi  ,http://localhost:9001/hi 会发现返回来的信息都是最新的 。说明更新成功了。


参考文档 http://projects.spring.io/spring-cloud/spring-cloud.html#_spring_cloud_bus

原创粉丝点击