搭建完Kafka Broker集群并创建了几个topic后,我们发现Kafka自动创建了以下两个topic:
__consumer_offsets
_schema
这些主题的重要性和用途是什么?
搭建完Kafka Broker集群并创建了几个topic后,我们发现Kafka自动创建了以下两个topic:
__consumer_offsets
_schema
这些主题的重要性和用途是什么?
__consumer_offsets用于存储有关每个主题的已提交偏移量的信息:每组消费者(groupID)的分区。它是压缩主题,因此数据将被定期压缩,并且只有最新的偏移量信息可用。
_schema - 不是默认的 kafka 主题(至少在 kafka 8,9 中)。它是由 Confluent 添加的。查看更多:Confluent Schema Registry - github.com/confluentinc/schema-registry(感谢@serejja)
__consumer_offsets
:每个消费者组维护每个主题分区的偏移量。由于v0.9
每个消费者组的已提交偏移信息都存储在这个内部主题中(在v0.9
此信息之前存储在 Zookeeper 上)。当偏移管理器收到一个OffsetCommitRequest
,它会将请求附加到一个名为 的特殊压缩 Kafka 主题__consumer_offsets
。最后,偏移量管理器将向消费者发送一个成功的偏移量提交响应,只有当偏移量主题的所有副本都收到偏移量时。
_schemas
:这是Schema Registry使用的内部主题,它是 Avro 模式的分布式存储层。所有与模式、主题(及其相应版本)、元数据和兼容性配置相关的信息都附加到该主题中。模式注册表依次生成(例如,当在主题下注册新模式时)并使用来自该主题的数据。