1、kafka简介
1.1 介绍
Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。
1.发布和订阅消息流,这个功能类似于消息队列,这也是kafka归类为消息队列框架的原因
2.以容错的方式记录消息流,kafka以文件的方式来存储消息流
3.可以再消息发布的时候进行处理
1.2 使用场景
在系统或应用程序之间构建可靠的用于传输实时数据的管道,消息队列功能
构建实时的流数据处理程序来变换或处理数据流,数据处理功能
1.3 详细介绍
Kafka 专用术语
Broker:Kafka 集群包含一个或多个服务器,这种服务器被称为 broker。
Topic:每条发布到 Kafka 集群的消息都有一个类别,这个类别被称为 Topic。(物理上不同 Topic 的消息分开存储,逻辑上一个 Topic 的消息虽然保存于一个或多个 broker 上,但用户只需指定消息的 Topic 即可生产或消费数据而不必关心数据存于何处)。
Partition:Partition 是物理上的概念,每个 Topic 包含一个或多个 Partition。
Producer:负责发布消息到 Kafka broker。
Consumer:消息消费者,向 Kafka broker 读取消息的客户端。
Consumer Group:每个 Consumer 属于一个特定的 Consumer Group(可为每个 Consumer 指定 group name,若不指定 group name 则属于默认的 group)。
Kafka 是一个基于分布式的消息发布-订阅系统,它被设计成快速、可扩展的、持久的。与其他消息发布-订阅系统类似,Kafka 在主题当中保存消息的信息。生产者向主题写入数据,消费者从主题读取数据。由于 Kafka 的特性是支持分布式,同时也是基于分布式的,所以主题也是可以在多个节点上被分区和覆盖的。
2、环境
内容 |
版本号 |
系统版本 |
windows10 |
JDK |
1.8.0_201 |
kafka |
2.12-2.1.1 |
zookeeper |
3. |