1)什么是 Kafka
Kafka 是由 Linkedin
公司开发的,它是一个分布式的,支持多分区、多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统。
Kafka
是一个分布式流式平台,它有三个关键能力
-
订阅发布记录流,它类似于企业中的
消息队列
或企业消息传递系统
-
以容错的方式存储记录流
-
实时记录流
Kafka 的应用
-
作为消息系统
-
作为存储系统
-
作为流处理器
Kafka 作为消息系统,它有三个基本组件
- Producer : 生产者。向主题发布消息的客户端应用程序称为
生产者
(Producer),生产者用于持续不断的向某个主题发送消息。 -
Broker:一个从生产者接受并存储消息的客户端.一个独立的 Kafka 服务器就被称为
broker
,broker 接收来自生产者的消息,为消息设置偏移量,并提交消息到磁盘保存。 -
Consumer : 消费者从 Broker 中读取消息。消费者:订阅主题消息的客户端程序称为
消费者
(Consumer),消费者用于处理生产者产生的消息。
其他:
消息:Kafka 中的数据单元被称为消息
,也被称为记录,可以把它看作数据库表中某一行的记录。
主题:消息的种类称为 主题
(Topic),可以说一个主题代表了一类消息。相当于是对消息进行分类。主题就像是数据库中的表。