kafka 介绍
kafka 是一款基于发布订阅的消息系统,Kafka的最大的特点就是高吞吐量以及可水平扩展, Kafka擅长处理数据量庞大的业务,例如使用Kafka做日志分析、数据计算等。
kafka 概念角色介绍
- Broker:kafka 中 broker概念和rabbitM
- Q的broker概念类似,一个独立的 Kafka 服务器被称为broker,接收来自生产者的消息,为消息设置偏移量,并提交消息到磁盘保存;
- Topic:Topic为主题,也就是相当于消息系统中的队列(queue),一个Topic中存在多个Partition;注意,这里区别于 rabbitMQ 的 Topic;
- Partition:Partition 为分区,是构成Kafka存储结构的最小单位;
- Group:消费者组,一组消费者构成消费者组
- Message:消息
kafka 安装及使用
kafka 的运行依赖于 zookeeper,它的安装相对于 rabbitMQ来说比较简单。下面介绍Windows下 kafka的安装及其使用。
kafka是依赖于zookeeper的,所以我们先要安装zookeeper ,当然kafka的二进制包里面,包含了zookeeper 的安装包,我们不需要单独的再去下载ZK的安装包;
在 kafka 官网下载 二进制的 tgz 压缩包:http://kafka.apache.org/downloads.html,解压后它的 bin/windows下有 zk的启动脚本和kafka的启动脚本, zk的配置文件和kafka的配置文件在 config文件夹下,分别对应 zookeeper.properties和server.properties。由于本人对zk使用的频率也比较高,因此我是单独安装的zk。
下面我们对kafka进行配置及启动,配置文件说明:
代码语言:javascript复制# 对外暴露的服务端口
advertised.listeners=PLAINTEXT://ip:9092
# 机器的标识
broker.id=1
# kafka日志存储的位置
log.dirs=c:xxx
# zk的地址
zookeeper.connect=localhost:2181
启动脚本:
代码语言:javascript复制.binwindowskafka-server-start.bat .configserver.properties
接下来我们做一下简单的测试。
执行脚本
代码语言:javascript复制.binwindowskafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
该操作创建了一个 名为 test 的 kafka 主题,接下来我们可以在主题中写入消息并消费消息了。
执行脚本
代码语言:javascript复制.binwindowskafka-console-producer.bat --broker-list 127.0.0.1:9092 --topic test
xxx
xxx
该操作创建了一个消息生产者,并发送消息 "xxx"
执行脚本,消费消息:
代码语言:javascript复制kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
正在找回状态,公众号很久没更新了,GitHub也是,对不起。