小爱今天去面试了,面试官问小爱平时用的消息中间件是哪一个,谈谈对其的看法。小爱懵了,因为小爱平时做的项目都是传统软件,根本就没有用过消息中间件。面试官说:你都工作三年了,怎么连消息中间件都没有接触过啊。作为一名java后端程序员,对于消息中间件是需要掌握的。消息队列已经逐渐成为软件通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。现在主流的消息中间件,有老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。Kafka是使用scala编写的运行于jvm虚拟机上的程序,基本上是运行在linux服务器上,但也可以在windows上使用,今天我们用windows来体验下kafka首先确保你的机器上安装了jdk,kafka需要java运行环境,以前的kafka还需要zookeeper,新版的kafka已经内置了一个zookeeper环境,所以不需要单独安装zookeeper,可以直接使用。1、下载在kafka官网下载到最新的kafka安装包,选择下载二进制版本的tgz文件2、因为下载的是tgz文件,所以不需要安装,解压就好了。/bin 操作kafka的可执行脚本,还包含windows下脚本 /config 配置文件所在目录 /libs 依赖库目录 /logs 日志数据目录,目录kafka把server端日志分为5种类型,分为:server,request,state,log-cleaner,controller 不用修改任何配置文件,我们只需要知道 zookeeper的默认端口是2181,生产者的默认端口是9092就好。如果只需要进行简单的尝试的话,把下载好的文件解压到任意目录即可,这里我下载解压d盘kafka文件夹。D:\kafka\kafka_2.12-2.5.0\bin\windows\zookeeper-server-start.bat D:\kafka\kafka_2.12-2.5.0\config\zookeeper.properties
D:\kafka\kafka_2.12-2.5.0\bin\windows\kafka-server-start.bat D:\kafka\kafka_2.12-2.5.0\config\server.properties
创建一个名为 topic-xiaoai 的主题,包含一个分区,只有一个副本 D:\kafka\kafka_2.12-2.5.0\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topic-xiaoai
D:\kafka\kafka_2.12-2.5.0\bin/kafka-topics.sh --list --zookeeper localhost:2181
D:\kafka\kafka_2.12-2.5.0\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic topic-xiaoai
启动生产者之后进入编辑页面,发送了 "hello", D:\kafka\kafka_2.12-2.5.0\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic topic-xiaoai --from-beginning
当消费者启动之后,收到了之前生产者发送的 “hello”。这样只要我们在生产窗口输入,在对应的消息窗口就会有输出
了解了kafka的安装和使用,接下来我们就可以编写对应代码,实现我们需要的功能了。代码编写下期再分享。 由于笔者水平有限,文中纰漏之处在所难免,权当抛砖引玉,不妥之处,请大家批评指正。 作者:洪生鹏 白天搬砖,晚上写故事。技术交流、媒体合作、品牌宣传请添加微信: hsp-88ios
|