Kafka是Apache下的一个子项目,是一个高性能跨语言分布式发布/订阅消息队列系统,完全的分布式系统,Broker、Producer、Consumer都原生自动支持分布式,自动实现负载均衡;Apache Kafka相对于ActiveMQ是一个非常轻量级的消息系统,除了性能非常好之外,还是一个工作良好的分布式系统。
首先我们看下kafaka的安装(windows环境的),Kafka的运行依赖于Zookeeper,所以在运行Kafka之前我们需要安装并运行Zookeeper,因为我们这里不是主要讲Zookeeper的没有展开讲,简单介绍一下步骤:
1.先下载 Zookeeper的下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
2.解压后将conf目录下的zoo_sample.cfg重命名成zoo.cfg
3.并将dataDir值修改为如:F:/Data/zookeeper-3.4.14/data
4.添加系统变量ZOOKEEPER_HOME=F:\Data\zookeeper-3.4.14,并在path后添加;%ZOOKEEPER_HOME%\bin;
5.打开新的cmd,输入“zkServer“,运行Zookeeper,出现下图的结果代表启动成功。
然后我们去安装kafka:
1.kafka下载地址https://archive.apache.org/dist/kafka/2.4.1/kafka_2.12-2.4.1.tgz
2.解压后将config目录下server.properties文件的log.dirs值修改为如:自己解压的地址的data目录下,如图所示:
3.打开cmd窗口,进入解压的bin目录里的windos的bat脚本所在的目录(第一个红框是我本地解压的路径),执行第二个红框的命令,如果没看到报错,基本就算启动成功了:
4.接下来我们可以来测试了,首先创建一个topic为test,打开一个新的cmd窗口,进入解压的bin目录里的windos的bat脚本所在的目录(第一个红框是我本地解压的路径),执行第二个红框的命令(
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
)
5.然后我们在刚才创建topic的窗口里创建一个消息的生产者(kafka-console-producer.bat --broker-list localhost:9092 --topic test):
6.接着我们新打开一个cmd窗口,老套路来创建一个消费者来接收生产者生产的消息(kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning):
7.然后我们用刚才的生产者来发送消息,看看消费者能不能收到:
完美接收到,测试结束。后面会接着讲kafka怎样接入spring和springboot项目来实战使用介绍。