Kafka のプロデューサー、コンシューマー、ブローカーの基本概念

Kafka のプロデューサー、コンシューマー、ブローカーの基本概念

Kafka は、パブリッシングおよびサブスクリプションベースのメッセージング システムです。一般的には「分散コミット ログ」または「分散ストリーミング プラットフォーム」と呼ばれます。ファイル システムまたはデータベースのコミット ログは、すべてのトランザクションの永続的な記録を提供するために使用され、これらのログを再構築することでシステムの状態を再構築できます。同様に、Kafka データは特定の順序で永続化および保存され、オンデマンドで読み取ることができます。

1. Kafka トポロジ

2. カフカの特徴

配信とサブスクリプションの両方に高いスループットを提供します。 Kafka は 1 秒あたり約 250,000 メッセージ (50 MB) を生成し、1 秒あたり 550,000 メッセージ (110 MB) を処理できるとされています。ここで言及されているメッセージの数は、メッセージのサイズが一定でない可能性があるため、特に正確ではない可能性があります。

永続化操作を実行してメッセージをディスクに永続化し、ログの形式で保存できるため、ETL などのバッチ消費やリアルタイム アプリケーションに使用できます。データをハードディスクに保存し、複製することでデータの損失を防ぎます。
分散型システムなので、外部への拡張が容易です。複数のプロデューサー、ブローカー、コンシューマーが存在し、それらはすべて分散されます。ダウンタイムなしでマシンを拡張します。

メッセージ処理の状態はサーバー側ではなくコンシューマー側で維持され、障害が発生した場合に自動的にバランスをとることができます。
オンラインとオフラインのシナリオをサポートします。

3. Kafka の核となる概念

用語集
プロデューサーメッセージプロデューサー
消費者メッセージ 消費者
ConsumerGroup コンシューマ グループ。トピック内のパーティションからメッセージを並行して消費できます。
ブローカー キャッシュ エージェント、Kafka クラスター内の 1 つ以上のサーバーは総称してブローカーと呼ばれます。
トピックKafkaはさまざまな種類のメッセージソース(メッセージのフィード)を処理します。
パーティション トピックは物理的なグループ化です。トピックは複数のパーティションに分割でき、各パーティションは順序付けられたキューです。パーティション内の各メッセージには順序付けられたID(オフセット)が割り当てられます。
メッセージはコミュニケーションの基本単位です。各プロデューサーはトピックにいくつかのメッセージを公開できます。
プロデューサーはメッセージとデータを生成する存在です。 Kafka トピックにメッセージを公開するプロセスはプロデューサーと呼ばれます。
消費者はメッセージとデータの消費者です。トピックをサブスクライブし、公開されたデータを処理するプロセスは、コンシューマーと呼ばれます。

3.1 プロデューサーの概念

メッセージおよびデータ ジェネレーター。 Kafka トピックにメッセージを公開するプロセスはプロデューサーと呼ばれます。
プロデューサーは指定されたトピックにメッセージを公開します。プロデューサーは、たとえばラウンドロビン方式やその他のアルゴリズムに基づいて、メッセージがどのパーティションに属するかを決定することもできます。
非同期バッチ送信により、送信効率を効果的に向上できます。 kafka プロデューサーの非同期送信モードでは、バッチ送信が可能になります。メッセージは最初にメモリにキャッシュされ、その後一度にバッチで送信されます。

3.2 ブローカーの概念:

ブローカーにはレプリカ メカニズムがありません。ブローカーがダウンすると、そのブローカーのメッセージは利用できなくなります。
ブローカーはサブスクライバーのステータスを保存しません。これはサブスクライバー自身によって保存されます。
ステートレスであるため、メッセージを削除することが困難です (削除されたメッセージはサブスクライブされている可能性があります)。 Kafka は時間ベースの SLA (サービス保証) を使用し、メッセージは一定期間 (通常は 7 日間) 保存された後に削除されます。
消費者加入者は、任意の場所に戻って再度視聴することができます。サブスクライバーに障害が発生した場合、最小のオフセット (ID) を選択して消費メッセージを再読み取りできます。

3.3 メッセージの構成

メッセージ: コミュニケーションの基本単位です。各プロデューサーはトピックにメッセージを公開できます。
Kafka のメッセージはトピックに基づいて整理されます。さまざまなトピックは互いに独立しています。各トピックは異なるパーティションに分割でき、各パーティションにはメッセージの一部が格納されます。
パーティション内の各メッセージには、次の 3 つの属性が含まれます。
オフセット長い
メッセージサイズ int32
データメッセージの具体的な内容

3.4 消費者の概念

メッセージとデータのコンシューマー、トピックをサブスクライブし、公開されるメッセージを処理するプロセスをコンシューマーと呼びます。 Kafka では、グループを「サブスクライバー」と考えることができます。トピック内の各パーティションは、「サブスクライバー」内のコンシューマーによってのみ消費されますが、コンシューマーは複数のパーティションからのメッセージを消費できます。注: Kafka の設計原則では、トピックの場合、同じグループには同時に消費するパーティションの数よりも多くのコンシューマーを含めることはできません。そうしないと、一部のコンシューマーがメッセージを取得できないことになります。

<<:  クラウドの可観測性における5つの主要な新たなトレンド

>>:  クラウドネイティブシナリオでサーバーレスアプリケーションプログラミングモデルを体験する

推薦する

SEO テクノロジーを使用してホットなニュースワードをランク​​付けし、トラフィックを誘導します (毎日 20,000 以上の IP 増加)

月収10万元の起業の夢を実現するミニプログラム起業支援プラン例えば、上記は、編集者 Jiuwen.c...

デモ例: Discuz フォーラムの内部最適化機能

Discuz フォーラムを使用する友人は皆、Discuz フォーラムが検索エンジン最適化に非常に優れ...

ブランドマーケティングプロモーション丨これら3つの方法により、製品はユーザーの間でさらに人気になります。

マーケティングに携わる人なら誰でも、新規ユーザー獲得コストが依然として高い今日、既存ユーザーの育成が...

あなたがSEO初心者なら、冷酷さが足りないならSEO業界に参入しないでください

SEO とは何でしょうか? 記事を書いて投稿に返信するだけではないでしょうか? SEO 業界に不慣れ...

ドイツテレコムが GitOps を使用してエッジ インフラストラクチャを管理する方法

[[434441]] [51CTO.com クイック翻訳]ドイツテレコムは、2億4,200万人以上の...

簡単な説明: SEO最適化の専門家になるために必要な基本的な資質

SEO キーワード最適化に不慣れなすべての初心者は、このような目標を持ち、優れた SEO 最適化者、...

公文書偽造の疑いで、Sanwu.com が予約ドメイン名登録論争に巻き込まれる

最新の市場を見る概要:中国インターネットネットワークインフォメーションセンター(CNNIC)は、公式...

検索エンジンのブラックハット不正行為から逃れ、サイトランキングの自然な向上を促す(パート3)

また新しい日が始まりました。検索エンジンのブラックハットの不正行為から逃れ、サイトランキングの自然な...

シーンからシナリオまで、Juhaokan Technologyは「スクリーン・ネットワーク・クラウド」を接続してスマートライフの構築を支援します

ケビン・ケリーが予測した未来の生活は加速している。11月2日、ハイセンスは「1×3×N」という新たな...

1.4.2 エントリーファイル(2)

1.4.2 エントリーファイル(2)この構成項目のブロックで、「AllowOverride None...

高級品Eコマースの状況は楽観的ではない:変革の道を急いで模索

2012年上半期時点で、中国の高級品オンラインショッピング市場の規模は135億元に達し、2015年に...

SEO の悪党たちの秘密を暴く

SEO 凶悪犯とは、対戦相手の Web サイトを攻撃して自分のランキングを向上させる SEO 担当者...

Baiduのアルゴリズムは重要だが、SEO担当者はそれほど心配する必要はない

SEO Kongcheng は、Baidu のアルゴリズムにはあまり注意を払う必要がないと提案してい...

競合他社の5つの運用方法を分析する

自分自身と敵を知ることによってのみ、あらゆる戦いに勝つことができます。後ろの波が前の波を押し進めるよ...