Kafka のデータストレージの原則についての理解について話します

Kafka のデータストレージの原則についての理解について話します

5 年間の職務経験を持つ友人が、面接中に次のような質問を受けました。「Kafka データ ストレージの原理についての理解について話してください。」すると、その友人は突然唖然としました。ゼロコピーとは何ですか?ゼロコピーは Kafka と関係がありますか?

そこで今日は、Kafka のゼロコピー原則についての私の理解についてお話ししたいと思います。

1. トピック

Kafka では、メッセージを保存するために使用されるキューはトピックと呼ばれます。これは論理的な概念であり、メッセージのコレクションとして理解できます。

プロデューサーとトピック間、およびトピックとコンシューマー間の関係は多対多です。プロデューサーは複数のトピックにメッセージを送信でき、コンシューマーも複数のトピックからメッセージを取得できます (ただし、これは推奨されません)。

プロデューサーがメッセージを送信するときにトピックが存在しない場合は、Kafka はデフォルトでトピックを自動的に作成します。

2. パーティション

まず、水平拡張を実現するために、Kafka は異なるブローカーに異なるデータを保存します。同時に、単一サーバーのアクセス負荷を軽減するために、トピック内のデータは複数のパーティションに分割されます。サーバーでは、各パーティションに物理ディレクトリがあり、トピック名の後の番号がパーティションを表します。たとえば、mytopic という名前のトピックが作成されると、データ ディレクトリは 3 台のマシンに分散されます。

図に示すように:

mytopic-0 にはノード A、mytopic-1 にはノード B、mytopic-2 にはノード C があります。

3. レプリカ

さらに、Kafa はパーティションの信頼性を向上させるレプリケーション メカニズムを設計しました。トピックを作成するときに、レプリケーション係数を指定してトピックのコピー数を決定します。もちろん、レプリケーション係数はノード数以下である必要があります。そうでない場合はエラーが報告されます。これにより、同じノードにパーティションのコピーが 2 つ分散されることがなくなります。そうしないと、コピー メカニズムがバックアップの意味を失ってしまいます。

図に示すように、3 つのパーティションと 3 つのレプリカを持つトピック a3part3rep が作成され、3 つのブローカー ノードに均等に分散されます。各ブローカー ノードは相互にバックアップします。

これらのレプリカはすべて 2 つの役割に分かれており、リーダーは外部に対して読み取りおよび書き込みサービスを提供します。フォロワーの唯一のタスクは、リーダーから非同期的にデータを取得することです。図の赤いレプリカはリーダーであり、均一な読み取りと書き込みを保証するために各ノードに均等に分散されています。この設計は、モノトニック読み取り一貫性とも呼ばれます。

4. セグメント

ログが継続的に追加されてファイルが大きくなりすぎてメッセージの取得効率が低下するのを防ぐため、Kakfa はパーティションを複数のセグメントに分割して、データが特定のサイズを超えた場合にデータを整理します。ディスク上では、各セグメントはログ ファイルと 2 つのインデックス ファイルで構成されます。

図に示すように、これら 3 つのファイルはセットとして表示されます。このうち、.index は Consumer の Offset オフセットを格納するために使用されるインデックス ファイル、.timeindex はメッセージのタイムスタンプを格納するために使用されるインデックス ファイル、ログ ファイルは特定のデータ ファイルを格納するために使用されます。

カット時に記録されたオフセット値がファイル名として使用されます。ファイル構造は次のとおりです。

5. 索引

先ほど、Kafka では 2 種類のインデックスが設計されていると述べました。 1 つはオフセット インデックス ファイルで、オフセットとログ ファイル内のメッセージの位置とのマッピング関係を記録します。 1 つは、タイムスタンプとオフセットの関係を記録するタイムスタンプ インデックス ファイルです。検索効率を向上させるために、Kafka はメッセージごとにインデックスを作成せず、スパース インデックスを使用します。つまり、メッセージのバッチごとにインデックス レコードが生成されます。図に示すように:

<<:  クラウド移行の3つのビジネスメリット

>>:  Kubernetes が仮想マシンを改革する方法

推薦する

Webmaster Network レポート: 電子商取引が「資金調達の饗宴」を繰り広げ、Google は Checkout を閉鎖

1. Guahao.comプラットフォームは最近Taobao Lifeに正式に接続されました記者らは...

スキルを削除せずにBaidu製品マイニングウェブサイトのプロモーションプロセスを合理的に扱う

ほとんどのウェブマスターは、Baidu の製品がウェブサイトの重みが高く、最適化効果が高いことを知っ...

若者よ、新しいサイトを大事にしてください

しばらく SEO に携わってきた SEO 担当者は、これらのことをすでにマスターしているかもしれませ...

個人ブログサイト数が激減した理由の分析

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています最近、梁家...

オンライン宝くじライセンスの関心分野:民間企業は補助的な役割を果たす運命にある

街頭スクラッチカードからインターネット宝くじの選択まで、過去20年間の中国の宝くじの歴史は、宝くじ参...

ウェブマスターネットワークニュース:Qvodは著作権侵害の疑いで巨額の罰金を科されたと報じられている。Qvodは泣き叫ぶだろう

1. Qvodは著作権侵害の疑いで巨額の罰金を科されたとの噂:Yunfanの捜索は反駁できない証拠公...

インタラクション デザインにおけるイノベーションに関する洞察: イノベーションか、それとも改善の欠如か?

誰もがイノベーションを求めていますが、イノベーションに疑問を抱くと、困ったことになるのではないかと心...

VMware がクラウド コンピューティング戦略と技術ロードマップを公開

VMworld Europe 2009 において、VMware (NYSE: VMW) の社長兼 C...

垂直型電子商取引の存亡の危機:プラットフォーム型電子商取引が犯人

8月22日、仕入先への支払いが滞り閉鎖となった微米から、上場廃止の危機に瀕した「中国初の電子商取引銘...

justhost: サンクトペテルブルク IQ Data の VPS 配線とトラフィックの簡単なレビュー

サンクトペテルブルクはロシアで 2 番目に大きな都市です。Justhost はサンクトペテルブルクの...

市場調査の未来: 量子コンピューティング市場は2023年までに28億2000万ドルに成長する

海外メディアの報道によると、市場調査会社マーケット・リサーチ・フューチャーが発表したレポートでは、2...

外部ウェブサイト最適化業務から派生したネットワーク広報・プロモーション業務

退職後はずっと家にこもり、CMSサイトシミュレーション、簡単なコード処理、データベース移行など、SE...

SEOの典型的なケース:サイトにニュースが掲載されない本当の理由

ウェブサイトが含まれていない理由を説明する前に、まず私の状況についてお話しします。同じ時期のウェブサ...

ガートナーは、8つの主要なOpenStackベンダーの選定を組織したのではないことを公式に明らかにした。

最近、「Gartner の OpenStack 企業トップ 8」と題されたメディアの一連の記事が、一...

地域ポータルサイトの過去、現在、そして未来

ローカルポータルのトラフィックはどのくらいの割合を占めているのでしょうか? インターネット業界の分析...