Kafka= Brokerクラスターを設定し、いくつかのトピックを作成した後、次の2つのトピックがKafkaによって自動的に作成されることがわかりました。
__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
を受け取ると、__consumer_offsets
という名前の特別なコンパクト化されたKafkaトピックにリクエストを追加します。最後に、オフセットマネージャーはオフセットコミットを送信します。オフセットトピックのすべてのレプリカがオフセットを受信する場合のみ、コンシューマへの応答。
_schemas
:これは、Avroスキーマの分散ストレージレイヤーである Schema Registry によって使用される内部トピックです。 。スキーマ、サブジェクト(対応するバージョン)、メタデータ、および互換性構成に関連するすべての情報がこのトピックに追加されます。スキーマレジストリは、このトピックからのデータを生成し(たとえば、サブジェクトの下に新しいスキーマが登録されたとき)、消費します。