在Kafka中__consumer_offsets和_schema主题的用途是什么?

时间:2016-09-16 10:42:33

标签: apache-kafka confluent-kafka confluent-schema-registry

在设置Kafka Broker集群并创建几个主题后,我们发现Kafka会自动创建以下两个主题:

  1. __consumer_offsets
  2. _schema
  3. 这些主题的重要性和用途是什么?

2 个答案:

答案 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模式的分布式存储层。与架构,主题(及其相应版本),元数据和兼容性配置相关的所有信息都附加到此主题。反过来,模式注册表会生成(例如,在主题下注册新模式时)并使用该主题中的数据。