博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Cloud Bus整合Kafka
阅读量:6690 次
发布时间:2019-06-25

本文共 1687 字,大约阅读时间需要 5 分钟。

Kafka是由LinkedIn开发并开源的分布式消息系统,因其分布式及高吞吐率而被广泛使用,现已与Cloudera Hadoop,Apache Storm,Apache Spark集成,具备许多优秀的性能:高吞吐、分布式、跨平台、实时性以及伸缩性,本文我们就来看看如何将Spring Cloud Bus和Kafka进行整合。


本文是Spring Cloud系列的第二十八篇文章,了解前二十七篇文章内容有助于更好的理解本文:

1.

2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.


Kafka下载

Kafka现在是Apache上的开源项目,直接到官网下载即可(,这个不用我多说。

启动

下载成功之后,是一个压缩文件,解压该文件,我们可以看到一个bin目录,进入到bin目录中,bin目录下的.sh文件都是Linux/Unix下的shell脚本,在Linux/Unix环境下直接运行这些脚本即可,bin目录中还有一个windows目录,该目录下存储的都是windows中的批处理文件。我们在运行时根据自己的操作系统选择合适的命令去执行,本文以windows为例。解压后为了后面的命令操作方便,我将windows文件配置到环境变量中,我的是D:\Program\kafka_2.11-0.11.0.1\bin\windows,然后在cmd中进入到解压目录下,执行zookeeper-server-start.bat .\config\zookeeper.properties命令,表示启动zookeeper(由于Kafka依赖的zookeeper,所以我们要先启动zookeeper再启动Kafka),如下:

图片描述

zookeeper在启动的过程中需要用到zookeeper.properties配置文件,这个文件中定义了zookeeper的端口为2181。zookeeper启动成功之后,接下来我们要启动Kafka,执行kafka-server-start.bat .\config\server.properties命令,如下:

图片描述

两者都启动成功之后,我们可以执行如下命令kafka-console-producer.bat --broker-list localhost:9092 --topic test来发送一条消息,该命令可以启动Kafka基于命令行的消息生产客户端,启动成功之后,我们就可以直接在命令行发送消息了,如下:

图片描述

消息发送了,当然要有人来接收,接下来我们来创建消息接收端,执行kafka-console-consumer.bat --zookeeper localhost:2181 --topic test --from-beginning命令,启动成功之后,我们就可以收到刚刚发送的消息了,如下:

图片描述

整合Spring Cloud Bus

Spring Cloud Bus和Kafka的整合非常简单,如果我们使用了默认配置,就可以从RabbitMQ无缝切换过来,只需要修改一下我们之前config-server和config-client的依赖,将spring-cloud-starter-bus-amqp改为spring-cloud-starter-bus-kafka,如下:

org.springframework.cloud
spring-cloud-starter-bus-kafka

修改之后,我们分别启动eureka、config-server和config-client,测试方式还是和上文一样,该有的/bus/refresh接口的功能还是不变。这里我就不再赘述了。

好了,Kafka我们就先说这么多。有问题欢迎留言讨论。

参考资料:

1.《Spring Cloud微服务实战》

更多JavaEE资料请关注公众号:

图片描述

转载地址:http://xzuoo.baihongyu.com/

你可能感兴趣的文章
社交是微信营销
查看>>
2008 R2 证书服务器应用详解
查看>>
logger使用
查看>>
Python 学习笔记 - socket(粘包及其处理方式)
查看>>
Mac平台下数据乱码原因
查看>>
我的友情链接
查看>>
hive 动态分区太多问题
查看>>
从Java的角度理解Ext的extend
查看>>
Windows Server 2008 RemoteApp(二)---部署激活远程桌面授权服务器
查看>>
读取日志文件开发总结
查看>>
微星G41TM-P31主板安装centos5.6 x64认不到网卡
查看>>
jdk内部方法获取本机MAC地址
查看>>
Qt学习笔记一:入门
查看>>
VMware Horzion Workspace POC文档—安装3(集成ThinApp,发布应用)
查看>>
在WordPress第一篇文章里添加广告
查看>>
jQuery选择器总结
查看>>
无法加载协定为“WeatherWebServiceSoap”的终结点配置部分,因为找到了该协定的多个终结点配置...
查看>>
活动目录基础
查看>>
IOS --React Native
查看>>
Linux CPU
查看>>