Bus的接入

接入RabbitMQ

RabbitMQ是实现了AMQP(Advanced Message Queue Protocal)的开源消息代理软件,也是大家平时项目中应用最广泛的消息分发组件之一。

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>

点进去查看这个依赖的pom,你会发现它依赖了spring-cloud-starter-stream-rabbit,也就是说Stream组件才是真正被用来发送广播消息到RabbitMQ的,Bus这里只是帮我们封装了整个消息的发布和监听动作。

spring:
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest

上面配置分别指定了RabbitMQ的地址、端口、用户名和密码,以上均采用RabbitMQ中的默认配置。

接入Kafka

要使用Kafka来实现消息代理,只需要把上一步中引入的spring-cloud-starter-bus-amqp依赖替换成spring-cloud-starter-bus-kafka依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bus-kafka</artifactId>
</dependency>

如果Kafka和ZooKeeper都运行在本地,并且采用了默认配置,那么不需要做任何额外的配置,就可以直接使用。但是在生产环境中往往Kafka和ZooKeeper会部署在不同的环境,所以就需要做一些额外配置:

属性 含义
spring.cloud.stream.kafka.binder.brokers Kafka服务节点(默认localhost)
spring.cloud.stream.kafka.binder.defaultBrokerPort Kafka端口(默认9092)
spring.cloud.stream.kafka.binder.zkNodes ZooKeeper服务节点(默认localhost)
zspring.cloud.stream.kafka.binder.defaultZkPort ZooKeeper端口(默认2181)

猜你喜欢

转载自blog.csdn.net/tolmanlau/article/details/105789338