カフカのトピック、パーティションおよびメッセージ

カフカのトピックとパーティション

トピック

  • トピックカフカは、データ書き込み動作の基本単位である、コピーを指定することができます
  1. 一つ以上のパーティションを含むトピックは、トピックを手動でパーティションの数の数、サーバのかなりの数を指定することができる内蔵されています
  2. 各メッセージは、唯一のトピックに属し
  3. プロデューサーには、データを公開し、あなたがトピックにメッセージを投稿している指定する必要があります。
  4. 消費者のサブスクリプションのニュース、情報はまた、トピックのサブスクリプションを指定する必要があります。

 

 

 

 

 

 

 

パーティション

  • 各パーティションには、唯一のブローカーに、物理的に各パーティションに対応するフォルダです
  • カフカは、データの異なるパーティションではありません同じような状況が発生するように、デフォルトのハッシュ・パーティションによって使用されますが、パーティショナをオーバーライドすることができます
  • パーティションは、セグメントの複数のセグメント、セグメントサイズのそれぞれに対応するファイルを手動で指定することができ、セグメントが閾値に達したときに、もはやデータを書き込みません各セグメントに同じサイズであります
  • セグメントは、組成物の複数の記録不可能になるだけセグメントに追加記録され、個人が削除または変更されず、各メッセージセグメントの数は、必ずしも同じではありません

 

 

  • 古くなったログをクリアする場合、一つ以上のセグメントの削除、デフォルトのデータの7日間をサポート
  • カフカは、実際にディスクには、パフォーマンスを向上させるために、シーケンシャル技術を読み書き、メモリマップドファイルを書き込むために使用されます。プロデューサー生成されたメッセージは、時間のパーティションを仲介するために、特定のグループ化戦略に従って送信され、メモリ内に収まらない場合、これらのメッセージは、ディレクトリパーティション内のファイルに配置されます、ディレクトリ名がトピックと名前のパーティションシリアル番号。そこでは、1が拡張子を持つログファイルに基づいて、このディレクトリ内のファイルの2種類があり、他方は延長、各ログ・ファイルとそれに対応するインデックスファイルとインデックスファイルで、ファイルのセグメントファイルがあります、ここでログファイルがメッセージに格納されたデータファイルであり、インデックスファイルは、インデックスファイルです。インデックスファイルレコードデータファイルメッセージの物理オフセットに対応するメタデータ情報。
  • 命名規則logsegmentのファイル、パーティション世界最初のセグメントは、0(20 0)開始から、各ファイルのその後のファイル名は、ファイルの最後のメッセージのオフセット値であり、何が良いそれがそのように命名されます?私たちは消費者があなたが費やすことを継続したい場合は、あなたがlogsegmentのファイルの検索を探すためにバイナリ検索を使用することができますので、= xを相殺するために消費されている場合は、ファイルに移動し、その後、対応するxの値を取ることができます記事は、Xの場所を見つけるためのインデックスデータファイル。消費者は、データを読み取る際に、実際には、オフセットのインデックスを読んで、どこで最後の読み取り記録します。

 

 

 

  • キーは、1,3,6,8のように、ログ・ファイル内のメッセージIDであり、n個のキー値に格納されている詳細なインデックスファイルは、図索引ファイルの左半分に再分析... ..、等物品1、3、6、8つのメッセージを表すが、インデックスファイルおよびデータファイルとして代わりにスパースストレージモードを使用しての、各メッセージを索引付けされていません、インデックスを確立するために、定期的にデータのバイト。これは、インデックスファイルをメモリに保持することができるので、シーケンシャルインデックスファイルは、あまりにも多くのスペースを取る避け、しかし欠点は、メッセージがあなたがする必要がある。その場合には、ログファイル内の最初の位置に移動することはできませんインデックス化されていませんスキャンが、順序のこの走査範囲は小さくなります。これはメッセージの物理的な値のオフセットアドレス値を示しています。

 

  • カフカは、データを順番に書いているが、困難な世界の消費量が注文されていることを確認しますが。パーティションが0-10はpartition1,11-20パーティション2などに保存されたメッセージのこの部分を維持するよう、既に障害である場合、パケットメモリのパーティションの複数のメッセージがある場合。唯一の保証は、ニュース消費のパーティション内のデータを、内部の順でトピックを、グローバルな順序を行うことができないということです。

 

 

 

 

固定長ヘッダのメッセージ及び体組成の可変長メッセージボディ

各メッセージparition(パーティション)内のオフセット8バイト順序付けられたID番号を有し、このID番号が呼ばれるオフセット(オフセット)、一意parition(パーティション)内の各メッセージの位置を識別する。オフセットそれはのメッセージpartiionの数を表す
4バイトのメッセージsizemessageサイズ
CRC32チェックサムメッセージがで4バイトのCRC32を
1バイトの「魔法」このリリースカフカサービスプログラムプロトコルのバージョンを表し
、スタンドアロンの圧縮タイプのバージョン、またはロゴなどの1バイト「属性を」 、または符号化タイプ。
4バイトの鍵長は、キーの長さを示すキーが-1である場合、Kバイトキーフィールドブランク
Kバイトキーオプションの
値のバイトペイロードは実際のメッセージデータを表します。

 

 

参考
ストレージメカニズムカフカファイル:HTTPS://www.cnblogs.com/jun1019/p/6256514.html
https://baijiahao.baidu.com/s?id=1608205621370302980&wfr=spider&for=pc

 

https://blog.csdn.net/lrxcmwy2/article/details/82853300

おすすめ

転載: www.cnblogs.com/Allen-rg/p/11598254.html