欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

扎心了!面试官:你都工作三年了,怎么连消息中间件都没有接触过啊

程序员文章站 2022-04-07 12:37:00
...


小爱今天去面试了,面试官问小爱平时用的消息中间件是哪一个,谈谈对其的看法。

小爱懵了,因为小爱平时做的项目都是传统软件,根本就没有用过消息中间件。

被面试官这么一问,小爱有点不知所措。

面试官说:你都工作三年了,怎么连消息中间件都没有接触过啊。

小爱听了都不好意思了。

作为一名java后端程序员,对于消息中间件是需要掌握的。

消息队列已经逐渐成为软件通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。

现在主流的消息中间件,有老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。

下面我们来了解下Kafka安装与使用

Kafka是使用scala编写的运行于jvm虚拟机上的程序,基本上是运行在linux服务器上,但也可以在windows上使用,今天我们用windows来体验下kafka

 

首先确保你的机器上安装了jdk,kafka需要java运行环境,以前的kafka还需要zookeeper,新版的kafka已经内置了一个zookeeper环境,所以不需要单独安装zookeeper,可以直接使用。

1、下载

在kafka官网下载到最新的kafka安装包,选择下载二进制版本的tgz文件

扎心了!面试官:你都工作三年了,怎么连消息中间件都没有接触过啊

2、因为下载的是tgz文件,所以不需要安装,解压就好了。

 

Kafka目录介绍

  • /bin 操作kafka的可执行脚本,还包含windows下脚本

  • /config 配置文件所在目录

  • /libs 依赖库目录

  • /logs 日志数据目录,目录kafka把server端日志分为5种类型,分为:server,request,state,log-cleaner,controller

 扎心了!面试官:你都工作三年了,怎么连消息中间件都没有接触过啊

 

· 

运行

 

不用修改任何配置文件,我们只需要知道 zookeeper的默认端口是2181,生产者的默认端口是9092就好。

 

 

如果只需要进行简单的尝试的话,把下载好的文件解压到任意目录即可,这里我下载解压d盘kafka文件夹。

 

1、启动zookeeper

· 

 

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

启动zookeeper成功后会看到如下的输出

扎心了!面试官:你都工作三年了,怎么连消息中间件都没有接触过啊

从日志中我们可以得知,其默认端口为2181。

2、启动kafka

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

3、创建topic

创建一个名为 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 

扎心了!面试官:你都工作三年了,怎么连消息中间件都没有接触过啊

查看topic

D:\kafka\kafka_2.12-2.5.0\bin/kafka-topics.sh --list --zookeeper localhost:2181

 

4、生产消息

D:\kafka\kafka_2.12-2.5.0\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic topic-xiaoai

 

扎心了!面试官:你都工作三年了,怎么连消息中间件都没有接触过啊

启动生产者之后进入编辑页面,发送了 "hello",

 

 

不要关闭这个终端,再打开一个新的终端

5、消费消息

 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的安装和使用,接下来我们就可以编写对应代码,实现我们需要的功能了。代码编写下期再分享。

由于笔者水平有限,文中纰漏之处在所难免,权当抛砖引玉,不妥之处,请大家批评指正。

 -END-

作者:洪生鹏  白天搬砖,晚上写故事。技术交流、媒体合作、品牌宣传请添加微信: hsp-88ios

猜你喜欢

面试官:订单时常出现重复支付,该怎么办?

扎心了!面试官:你都工作三年了,怎么连消息中间件都没有接触过啊

更多惊喜,请长按二维码识别关注

你若喜欢,别忘了点【在看