カフカとは何か Kafka はもともと Linkedin によって開発されました。これは、Zookeeper 調整に基づいた分散型、パーティション化、マルチレプリカ、マルチサブスクライバーの分散ログ システムです (MQ システムとしても使用できます)。これは、Web/nginx ログ、アクセス ログ、メッセージング サービスなどによく使用されます。Linkedin は 2010 年にこれを Apache Foundation に寄贈し、トップ オープン ソース プロジェクトになりました。 商用メッセージ キューのパフォーマンスとそのファイル ストレージ メカニズムの設計は、メッセージ キュー サービスの技術レベルを測定するための最も重要な指標の 1 つです。以下では、Kafka のファイル保存の仕組みと物理構造の観点から、Kafka がどのように効率的なファイル保存を実現するのか、また実際の適用効果について分析します。 Kafka の用語のいくつかは次のように説明されています。
分析プロセスは次の 4 つのステップに分かれています。
上記の 4 つのプロセスを詳細に分析することで、Kafka のファイル保存メカニズムの謎をはっきりと理解することができます。 2.1 トピックのパーティションストレージの分散 実験環境の Kafka クラスターにはブローカーが 1 つだけ存在し、xxx/message-folder がデータ ファイル ストレージのルート ディレクトリであると想定します。 Kafka ブローカーで、server.properties ファイル (パラメーター log.dirs=xxx/message-folder) を構成します。たとえば、report_push と launch_info という名前の 2 つのトピックを作成し、パーティションの数はパーティション = 4 です。保存パスとディレクトリのルールは次のとおりです: xxx/message-folder
Kafka ファイル ストレージでは、同じトピックの下に複数の異なるパーティションが存在します。各パーティションはディレクトリです。パーティションの命名規則は、トピック名 + 順序付けられたシーケンス番号です。最初のパーティションシーケンス番号は 0 から始まり、最大シーケンス番号はパーティション数から 1 を引いた数になります。ブローカーが複数ある場合は、Kafka クラスターのパーティション分散原則の分析を参照してください。 2.2 パーティション内のファイル保存方法 次の図は、パーティションにファイルがどのように保存されるかを示しています。
これを行う利点は、不要なファイルをすばやく削除し、ディスク使用率を効果的に向上できることです。 2.3 パーティション内のセグメントファイル格納構造 読者はセクション 2.2 で Kafka ファイル システムのパーティション ストレージ方法について学習しました。このセクションでは、パーティション内のセグメント ファイルの構成と物理構造を詳細に分析します。
以下のファイルリストは、Kafka ブローカーで行った実験です。 1 つのパーティションを持つ topicXXX を作成し、各セグメントのサイズを 500 MB に設定し、プロデューサーを起動して大量のデータを Kafka ブローカーに書き込みました。以下の図 2 に示すセグメント ファイル リストは、上記の 2 つのルールを示しています。 上記の図 2 のセグメント ファイルのペアを例にとると、セグメント内のインデックス <—-> データ ファイル間の対応関係の物理構造は次のようになります。 上記の図において、 3 、インデックス ファイルには大量のメタデータが格納され、データ ファイルには大量のメッセージが格納されます。インデックス ファイル内のメタデータは、対応するデータ ファイル内のメッセージの物理オフセット アドレスを指します。インデックス ファイル内のメタデータ 3,497 を例にとると、これはデータ ファイル内の 3 番目のメッセージ (グローバル パーティション内の 368772 番目のメッセージ) を表し、メッセージの物理オフセット アドレスは 497 です。 上の図 3 から、セグメント データ ファイルは多数のメッセージで構成されていることがわかります。メッセージの物理構造の詳細な説明は次のとおりです。 2.4 パーティション内のオフセットでメッセージを検索する方法 たとえば、offset=368776 のメッセージを読み取るには、次の 2 つの手順で検索する必要があります。
上の図 3 から、これを行う利点がわかります。セグメント インデックス ファイルはスパース インデックス ストレージを採用しており、インデックス ファイルのサイズが削減され、mmap を通じてメモリを直接操作できます。スパース インデックスは、データ ファイルの対応する各メッセージのメタデータ ポインターを設定します。高密度インデックスよりも多くのストレージスペースを節約できますが、検索に時間がかかります。 3 Kafkaのファイル保存の仕組み – 実際の運用効果 実験環境:
Kafka サーバーの構成と最適化の詳細については、kafka server.properties 構成の詳細を参照してください。 上記の図 5 からわかるように、Kafka の実行中に大規模なディスク読み取り操作が行われることはほとんどなく、主な操作はディスクへの定期的なバッチ書き込みであるため、ディスク操作は非常に効率的です。これは、Kafka ファイル ストレージでのメッセージの読み取りと書き込みの設計に密接に関連しています。 Kafka でのメッセージの読み取りと書き込みには、次の特徴があります。 メッセージを書く
メッセージを読む
Kafka の効率的なファイルストレージ設計機能
|
<<: キンディー・インターナショナル(00268)の年間成長率はハンセン指数の10倍であり、人気のあるQDIIファンドとなっている。
>>: 業界アプリケーションの革新とアップグレードのコアビジネスクラウド実装
現時点では、イチゴの卸売価格は1斤4元で、農産物直売所では1斤8元で販売できる。ジュースにすると、1...
Kubernetes 上でサーバーレス関数を実行する際に、起動が高速化され、メモリ フットプリントが...
私は最近、バイドゥの入札を説明するのが困難ですまた、これを深く理解していますここでは、Jiechen...
多くの初心者の SEO の友人は、このタイトルを見ると、ブログの外部リンクについて長々と話す必要はな...
過去6か月間、オーディオおよびショートビデオアプリケーションは熱い勢いを維持し、ツールアプリケーショ...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス多くのウェブマスターが自...
分類情報サイトは、常にユーザーから人気があります。しかし、ユーザーがサイトに投稿した情報のレビューが...
PTC は、ドイツの新興企業 Volocopter が自律飛行輸送システムの開発に PTC の Wi...
2016年を振り返ると、アリババグループの年間プラットフォーム取引量は3兆元を超えた。当時の電子商取...
過去 20 年間、クラウド テクノロジーは、あらゆる専門家、アナリスト、ビジネス リーダーの「注目す...
SEOに携わり始めて4年以上経ちました。正直に言うと、今私に外部リンクを貼れと言われたら、私は外部リ...
こんにちは、みんな。クラウドコンピューティング、クラウドサービス、クラウドプラットフォームなどの登場...
「今日、以前Vipshopを50ドルで出品し、すでに売れていたことを知りました。」8月10日夜、ネッ...
みなさんこんにちは。私の名前はLiang Lei、オンライン名はStoneです。最近、百度は多くのウ...
SEO に携わる人なら誰でも、フレンドリー リンクの重要性をご存知でしょう。多くの企業や最適化チーム...