第一步,首先在项目中pom.xml添加如下:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-kafka</artifactId>
</dependency>
第二步,下载kafka并安装,地址:http://kafka.apache.org/downloads.html
选择Binary downloads中的
Scala 2.12 - kafka_2.12-1.0.0.tgz (asc, sha512)
这个版本,并解压:
tar xf kafka_2.12-0.11.0.1.tgz
第三步,启动zookeeper, 由于Kafka的设计中依赖了ZooKeeper
所以我们可以在bin和config目录中除了看到Kafka相关的内容之外,还有ZooKeeper相关的内容。其中bin目录存放了Kafka和ZooKeeper的命令行工具,bin根目录下是适用于Linux/Unix的shell,而bin/windows下的则是适用于windows下的bat.
切换到/kafka_2.12-0.11.0.1目录下:
sh bin/zookeeper-server-start.sh config/zookeeper.properties
第四步,启动kafka, 切换到/kafka_2.12-0.11.0.1目录下
sh bin/kafka-server-start.sh config/server.properties
该命令也需要指定Kafka配置文件的正确位置,如上命令中指向了解压目录包含的默认配置。若在测试时,使用外部集中环境的ZooKeeper的话,我们可以在该配置文件中通过zookeeper.connect参数来设置ZooKeeper的地址和端口,它默认会连接本地2181端口的ZooKeeper;如果需要设置多个ZooKeeper节点,可以为这个参数配置多个ZooKeeper地址,并用逗号分割。比如:zookeeper.connect=127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002
第五步,创建topic,切换到/kafka_2.12-0.11.0.1目录下
sh bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic sports_test
第六步,创建消息生产者
sh bin/kafka-console-producer.sh --broker-list localhost:9092 --topic sports_test
然后输入:
> welcome to Shanghai
第七步,创建消息消费者, 打开另外一个命令窗口,切换到/kafka_2.12-0.11.0.1目录下
sh bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic sports_test --from-beginning
就打印出:
welcome to Shanghai
到此,kafka的消息服务已经实现,接下来就是整合spring cloud bus,集成到spring cloud config server 和spring cloud config client项目中,可以使用命令
sh bin/kafka-topics.sh --list --zookeeper localhost:2181
查看消息服务列表。
第八步,在config-server工程中,application.properties中添加如下kafka配置:
#kafka
spring.cloud.stream.kafka.binder.zk-nodes=localhost:2181
### 最后
我还为大家准备了一套体系化的架构师学习资料包以及BAT面试资料,供大家参考及学习
已经将知识体系整理好(源码,笔记,PPT,学习视频)
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/bed5759082b6537d4f644bff27402cb3.webp?x-oss-process=image/format,png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/b0c9dc28aae021cbcada70d13ae9ce5e.webp?x-oss-process=image/format,png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/70a552cce9fae9d994b1914765fec2e2.webp?x-oss-process=image/format,png)
g-CFxN2HVN-1714573549067)]
[外链图片转存中...(img-90ejlncR-1714573549067)]
[外链图片转存中...(img-sQhokrJ1-1714573549067)]
> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**