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 はメッセージごとにインデックスを作成せず、スパース インデックスを使用します。つまり、メッセージのバッチごとにインデックス レコードが生成されます。図に示すように: |
arminds は、2011 年に米国フロリダ州で登録された会社です。Two Man という名前で、...
SSDVPS はあまり宣伝されていませんが、設立以来多くの友人に認められています。第 2 世代の V...
[[409977]] ACNAのコンセプトアリババは、さまざまな業界の多数の法人顧客にアリババクラウ...
中国では、多くの中小企業が社内のウェブサイト運用の重要性を認識しているものの、実際の運用は十分とは言...
羅博宇さんは2002年からメールを使っています。最初はHotmailを使っていましたが、その後、Ho...
若い、それは常にブランドの主なテーマです。若者を魅了するために可愛らしさを利用する人もいるが、若者が...
感染症流行中、ネットユーザーの「クラウド監視」により、武漢火神山病院と雷神山病院の建設進捗状況が注目...
数日前、同僚とグループチャットで読書について話していました。今まで会話に参加できなかった私も、ようや...
Baidu アルゴリズムの継続的なアップグレードにより、現在のウェブサイト最適化は以前とは異なります...
多くの初心者ウェブマスターにとって、SEO という言葉は非常に意味が深いものです。著者もまた草の根の...
この流行により、企業のデジタル変革のペースが加速しました。ますます多くの企業がワークロードをクラウド...
TigerGraph Cloud は、今日のデータ速度と接続性の需要を満たす最も簡単な方法です。無料...
なぜウェブサイト上のオリジナル記事をサイト上のソフト記事として扱うべきなのでしょうか?その目的は、こ...
Pacificrack からの最新ニュースによると、公式が VPS を補充し、現在約 200 個の ...
戦略的マーケティング管理とは、個人および組織の目標を達成するための交流を生み出すために、アイデア、製...