一起学kafka

kafka简单入门

kafka解决了什么问题

以下是大佬总结的,我觉得很不错,分享给大家:
kafka知识点

1
2
3
4
5
6
7
8
9
10
11
12
1. kafka基于pub(发布者)/sub(订阅者)模型。
2. kafka提供消息队列,pub直接往消息队列末尾添加数据,
让多个sub从队列中依次读出数据进行处理。
3. 本质上Kafka是分布式的流数据平台

根据官网的介绍,ApacheKafka®是一个分布式流媒体平台,它主要有3种功能:

1It lets you publish and subscribe to streams of records.发布和订阅消息流,这个功能类似于消息队列,这也是kafka归类为消息队列框架的原因

2It lets you store streams of records in a fault-tolerant way.以容错的方式记录消息流,kafka以文件的方式来存储消息流

3It lets you process streams of records as they occur.可以再消息发布的时候进行处理

下载kafka

下载bin的tgz版本,并解压 下载链接

小Demo

Kafka的使用需要用到zookeeper, 不过高版本的kafka安装包里面已经集成了zookeeper,可以看到在libs目录下有一个zookeeper.jar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
首先进入到kafka解压目录
1. 启动zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties

2. 启动kafka
bin/kafka-server-start.sh config/server.properties

3. 创建一个topic
kafka通过topic对同一种类型的消息进行管理, 即同一类的数据使用同一个topic更加方便。
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

4. 查看已经创建的topic
bin/kafka-topics.sh --list --zookeeper localhost:2181

5. 创建一个sub(也称消费者consumer)
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

6. 新开一个窗口,创建一个pub(也称生产者producer)
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
启动生成者后,就会进入命令模式,就可以输入消息,
这时候, 你可以输入消息,回车,然后在consumer那个窗口就可以看到发送的消息

未完待续。。。