カフカとは何か 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ファンドとなっている。
>>: 業界アプリケーションの革新とアップグレードのコアビジネスクラウド実装
Fatcow の今年最後の波 - 感謝祭とブラック フライデーのプロモーション、Fatcow は無制...
インターネット ウェブサイトの場合、ウェブサイトのトラフィックを実際の収益に変換することが、ウェブサ...
akkocloud(~)は、春節特別パッケージ、英国ミニバージョンcn2 gia vpsを発売しまし...
ご存知のとおり、外部リンクはクリックに応じて 2 つのタイプに分けられます。1 つはクリック可能で、...
北京、2021年6月10日 - 2021年は中国の「第14次5カ年計画」の初年であり、中国にとって「...
平均的な企業がパブリック クラウドに 120 万ドルから 600 万ドルを費やしていることから、中小...
[[239235]]クラウド市場の世界的リーダーであるアマゾンは、小売業界のクラウドサービス分野では...
現時点では、イチゴの卸売価格は1斤4元で、農産物直売所では1斤8元で販売できる。ジュースにすると、1...
私自身は、長年の豊富な経験を持つ SEO 担当者ではありません。しかし、大連曼通ネットワークは、初心...
1. エコロジカル交通開発の概要1. モバイル市場は11億に達し、トラフィック配当は徐々に消滅しつつ...
ロシアの業者であるtimewebは13年以上運営されており、今でも非常に有名で、ロシアのVPS業界で...
4月26日午後、東方鳳星グループは、Bラウンドで中国国際金融公社(CICC)と中国ブロードバンド基金...
ブランドは今や最も欠かせない言葉となり、民間企業であれテクノロジー大手であれ、誰もがブランド構築に多...
digital-vm は、すべての VPS を対象に 40% 割引のプロモーションを開始しました。す...
私たちは毎日たくさんの情報を得る必要があり、その入手方法のほとんどは検索エンジン経由であるため、ブラ...