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