Kafka是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域。
一、什么是Kafka
Kafka是一个分布式的数据流式传输平台。
1、Apache Kafka是一个开源消息系统,由scala写成。是由Apache软件基金会开发的一个开源消息系统项目。
2、Kakfa最初是由LinkedIn公司开发,并于2011年初开源,2012年10月从Apache Incubator毕业,该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。
3、kakfa是一个分布式消息队列。Kafka对消息保存时根据Topic进行归类。发送消息者称为Producer,消息接收者称为Consumer,此外Kafka集群由多个Kafka实例组成,每个实例(Server)也称为broker。
二、核心概念
Apache Kafka是一个开源的消息系统、消息中间件、Scala语言实现的消息系统。
broker
每个Kafka服务器就是一个broker。kafka集群由多个broker组成。
topic
数据主题,数据存放在不同的topic中。可以由多个消费者来消费它的数据。
partition
分区,一个topic可以划分为多个partition。通过分区,topic可以进行扩展。topic可以通过分区让多个消费者消费,以此提高消费的并行度。
offset
偏移量,数据会按照时间顺序追加到结构化的提交log中。offset是有序且不可变的。偏移量由消费者控制,消费者可以通过指定偏移量来重新消费过去的数据。
producer
生产者,就是向broker发送消息的客户端。负责将记录分配到topic的指定分区中。
consumer
消费者,从broker接收消息的客户端。需要维护读取数据的offset,offset在kafka0.9之前保存在zk,0.9版本之后保存在kafka的topic: "__consumer_offsets" 中。
三、标题
— 要养成终身学习的习惯 —
标签:01,broker,Kafka,topic,概述,消息,offset,kafka From: https://www.cnblogs.com/houhuilinblogs/p/18153218