Kafka中的常见概念归纳
Kakfa中有很多概念,以下对其中常见的概念进行整理,方便学习和后续回顾。 01、消息和批次 Kafka的数据单元被称为消息,可以把消息看成是数据库里的一个“数据行”或一条“记录”。消息被分批次写入Kafka,批次就是一组消息,这些消息属于同一个主题和分区。 02、模式 根据应用程序的需求,消息模式有许多可用的选项。Kafka的许多开发者喜欢使用Apache Avro,Avro提供了一种紧凑的序列化格式,模式和消息体是分开的,当模式发生变化时,不需要重新生产代码;它还支持强类型和模式进化,其版本既向前兼容,也向后兼容。 03、主题和分区 Kafka的消息通过主题进行分类。主题就好比数据库的表,或者文件系统里的文件夹。主题可以被分为若干个分区,一个分区就是一个提交日志。消息一追加的方式写入分区,然后以先入先出的顺序读取。 人们把一个主题的数据看作是一个流,不管它是多少个分区。流是一组从生产者移动到消费者的数据。 04、生产者和消费者 Kafka的客户端就是Kafka系统的用户,它们被分为两种基本数据类型:生产者和消费者。此外,还有其他高级客户端API——用于数据集成的Kafka Connect API和用于流式处理的Kafka Streams。 1、生产者创建消息。一个消息会被发布到一个特定的主题上。生产者在默认情况下把消息均衡地分布到主题所有分区上。 2、消费者读取消息