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つの主要な新たなトレンド

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

推薦する

DPU市場は活況を呈しています。将来的には少数の大企業が市場を独占することになるのでしょうか?

これを DPU (データ処理ユニット) と呼ぶ人もいれば、IPU (インフラストラクチャ処理ユニット...

Luckin Coffeeの成功の3つの秘密についてお話ししましょう!

5月17日、ラッキンコーヒーはナスダックに上場を果たした。設立から上場までわずか18ヶ月だった。 ...

PieLayer - 3.5 ドル / メモリ 2g / SSD 45g / トラフィック 1T / ラスベガス

PieLayer は 2009 年に設立されました。現在のサーバーは、ドイツのフランクフルト、ニュー...

天津がインターネット企業の新たな拠点に:免税、家賃補助

天津経済技術開発区とその周辺地域、漢沽区、塘沽区、大港区などの沿海地域は、投資を誘致する沿海新興地域...

ネットワークマーケティング部門が業績評価に参加すべきかどうかについての簡単な議論

ご存知のとおり、企業内のすべての部門と役職は、売上を達成し利益を上げるために設立され、機能します。そ...

新しいサイトのランキング向上は、外部リンクプロモーションと組み合わせることで最大の効果が得られます。

まず、「速い」という言葉について説明させてください。そうでないと誤解してしまいます。ここで言う「速い...

六易クラウド:メーデー特別価格、クラウドサーバー20%割引、ロサンゼルス聯通VIP回線、ロサンゼルス200G高防御、香港安昌BGP、香港大埔CN2、香港沙田CN2

六益クラウドインターコネクトは、メーデー連休期間中、米国ロサンゼルスのCeraデータセンターのChi...

微博広告利益分配計画が社内テスト開始、中小Vが大部分を占める

Lieyun.comが4月2日に報じた。先週、Lieyun.comは、Weiboがセルフメディアユー...

マイクロソフト、クラウド移行のための企業向けビジネス管理ツールを提供するAIMプログラムを開始

Microsoft は最近、顧客がローカル ERP および CRM アプリケーションをクラウドに移行...

今すぐ実装すべき DevOps パイプラインのベストプラクティス 10 選

最適な効率と合理化されたソフトウェア配信を実現するために、今すぐ実装する必要がある DevOps パ...

エッジの台頭 - いつでもどこでも分析とコンピューティング

[[435346]]データの重要性の高まりは、おそらくインターネット革命の最も重要な副作用の 1 つ...

SEO 専門家インタビュー - 中国における SEO の分析

インタビューは主に中国語の検索と SEO に焦点を当てていました。マット・カッツ氏と Google ...

Citrix の新しい市場戦略: デスクトップ仮想化からアプリケーション仮想化へ

[51CTO.com からのオリジナル記事] Citrix について言及すると、多くのユーザーはデス...

リアルタイムの洞察を強化: コンピューター ビジョンとエッジ コンピューティングの相乗効果

今日の急速に変化する世界では、最先端技術のシームレスな統合がイノベーションの基盤となっています。その...

この記事では、EV SSL 証明書の申請がどれほど難しいかを説明します。

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