カフカがここに消費者のためだけでなく、基本的なインフラが含まれます、プロデューサーのAPIの用語について説明します。これらの用語を理解することは、より詳細なカフカを理解するのに役立ちます。
- カフカ関連用語
ブローカ
トピック
ストリーム
パーティション
オフセット
プロデューサー
消費者
コンシューマ・グループ
これらの用語を理解するために、我々は全体のメッセージカフカのプロセスを見てみましょう。
区分データ・出版:パーティションのデータリリース。
注文したサブスクリプション:購読、購読します
カフカメッセージ全体の処理手順
メッセージプロデューサによって生成され、メッセージがトピックに応じて分類し、ブローカーに送信され、ブローカーが1つまたは複数のメッセージのトピックを保持している、消費者、連続運転によるトピックのサブスクリプション・メッセージプルのセットを介してブローカーからメッセージを取得し、後続のメッセージ処理。
- ブローカ
カフカのサーバがあるブローカー。複数のクラスタブローカコンポーネント。ブローカーは、複数の受信することができるトピック。
2、トピックブローカに送信される各メッセージカテゴリを有し、カテゴリは、トピックと呼ば
3、パーティション
パーティションは、メッセージのトピックは、実際にキューがカフカのパーティションと呼ばれ、ストレージ複数のキューで構成されています。
スケーラビリティを達成するために、非常に大きなトピックは複数のブローカー(すなわち、サーバ)に分配されてもよい、トピックはパーティションに分割することができ、各パーティションは、順序付けられたキューです。各メッセージは、シーケンシャル番号(オフセット)が割り当てられているパーティション。消費者へのメッセージにそのパーティションを1つだけ確実にするカフカの順序は、シーケンス全体のトピック(間のパーティション)を保証するものではありません。
4、プロデューサー
メッセージ作成者のニュースは、ブローカに指定されたトピックを送信するための責任があります
5、消費者
クライアントは、メッセージを読み取り、メッセージのトピックのセットをサブスクライブブローカーからプルメッセージを通じて、。
図6に示すように、コンシューマ・グループ(略称:CG)
属します各コンシューマコンシューマ・グループは、同じgroup.id消費者のクライアントが同じ消費者に属しています。メッセージを設定することにより、ユニキャスト消費(crowdsumption)またはブロードキャスト消費に分けることができる消費者group.idと同じです。
2つの消費者と消費者のグループは、4つのパーティションにニュースで話題に加入している場合、各消費者は2つのパーティションのメッセージのこのコンシューマ・グループを消費します。
消費者団体のメンバーは、動的に、維持削減や消費者の新しいコンシューマ・グループ場合は、各パーティションの消費者支出のためのメッセージが動的に変更されますされています。例えば、消費者のグループは、ニュースを消費し続けることができない、残りの消費者は、すべての4つのパーティションのメッセージを消費しますので、障害の2つのコンシューマ、消費者のいずれかを持っていました。
消費者は、いくつかのコレクションで構成します。これは、トピックカフカメッセージ達成するために使用される(すべてのコンシューマに送信される)ブロードキャスト及び(消費者のいずれかに送信された)ユニキャスト手段。トピックは、CGを複数有していてもよいです。CGで消費者にCGの全てのメッセージのコピーのトピック(ない真のコピー、概念的である)が、それぞれの意志だけCGメッセージ。あなたが放送をしたい場合は、限り、各消費者は、その上に独立したCGを有しているからです。限り、同じCGでのユニキャスト、消費者のすべてのように達成するために。消費者は、異なるトピックに複数回送信されるCGメッセージなしに自由にすることによってグループ化することができます。
7、オフセット
オフセット。格納された各パーティションのカフカメッセージは、パーティション内の消費者の位置である、オフセットoffset。例えば、オフセット消費者5である、それは次のメッセージにオフセット、オフセット0-4からニュースを消費していると述べた5を消費することです。
カフカのストレージ・ファイルに従っているoffset.kafka という名前の、名前はオフセットのメリットをどう見つけるのは簡単です。たとえば、あなただけのファイルの2048.kafkaを見つけ、2049年に場所を見つけたいです。もちろん、最初のオフセット00000000000.kafkaです