web-dev-qa-db-ja.com

Kafkaの__consumer_offsetsおよび_schemaトピックの使用とは何ですか?

Kafka= Brokerクラスターを設定し、いくつかのトピックを作成した後、次の2つのトピックがKafkaによって自動的に作成されることがわかりました。

  1. __consumer_offsets
  2. _schema

これらのトピックの重要性と用途は何ですか?

23
Anveshak

__ consumer_offsetsは、各トピックのコミット済みオフセットに関する情報を保存するために使用されます:コンシューマーのグループごとのパーティション(groupID)。トピックは圧縮されているため、データは定期的に圧縮され、最新のオフセット情報のみが利用可能になります。

_ schema-デフォルトではないkafkaトピック(少なくともkafka 8,9)。Confluentによって追加されます。詳細:Confluent Schema Registry-github.com/confluentinc/schema-registry(ありがとう@serejja)

36
Natalia

__consumer_offsets:すべてのコンシューマグループは、トピックパーティションごとにオフセットを維持します。 v0.9以来、すべてのコンシューマグループのコミット済みオフセットの情報は、この内部トピックに保存されます(v0.9の前に、この情報はZookeeperに保存されていました)。オフセットマネージャーは、OffsetCommitRequestを受け取ると、__consumer_offsetsという名前の特別なコンパクト化されたKafkaトピックにリクエストを追加します。最後に、オフセットマネージャーはオフセットコミットを送信します。オフセットトピックのすべてのレプリカがオフセットを受信する場合のみ、コンシューマへの応答。

_schemas:これは、Avroスキーマの分散ストレージレイヤーである Schema Registry によって使用される内部トピックです。 。スキーマ、サブジェクト(対応するバージョン)、メタデータ、および互換性構成に関連するすべての情報がこのトピックに追加されます。スキーマレジストリは、このトピックからのデータを生成し(たとえば、サブジェクトの下に新しいスキーマが登録されたとき)、消費します。

5