Kafka の 3 階層アーキテクチャ設計の分析

Kafka の 3 階層アーキテクチャ設計の分析

Kafka コアの問題

  • Kafka のアーキテクチャを簡単に説明してください。
  • Kafka はプッシュ モードですか、それともプル モードですか?プッシュとプルの違いは何ですか?
  • Kafka はどのようにメッセージをブロードキャストしますか?
  • Kafka メッセージは順番通りですか?
  • Kafka は読み取りと書き込みの分離をサポートしていますか?
  • Kafka はどのようにして高いデータ可用性を確保するのでしょうか?
  • Kafka における zookeeper の役割は何ですか?
  • トランザクションはサポートされていますか?
  • パーティションの数を減らすことはできますか?

Kafka アーキテクチャの一般的な概念:

建築

  • プロデューサー: プロデューサーはメッセージを送信する当事者です。プロデューサーはメッセージを作成し、それを Kafka に送信する責任を負います。
  • 消費者: 消費者はメッセージを受信する当事者です。コンシューマーは Kafka に接続してメッセージを受信し、対応するビジネス ロジック処理を実行します。
  • コンシューマー グループ: コンシューマー グループには 1 人以上のコンシューマーを含めることができます。マルチパーティション + マルチコンシューマー モードを使用すると、ダウンストリーム データの処理速度が大幅に向上します。同じコンシューマー グループ内のコンシューマーは、メッセージを繰り返し消費しません。同様に、異なるコンシューマー グループのコンシューマーは、メッセージを送信するときに互いに影響を与えません。 Kafka は、コンシューマー グループを通じてメッセージ P2P モードとブロードキャスト モードを実装します。
  • ブローカー: サービス プロキシ ノード。 Broker は Kafka のサービス ノード、つまり Kafka のサーバーです。
  • トピック: Kafka 内のメッセージはトピックに分割されます。プロデューサーは特定のトピックにメッセージを送信し、コンシューマーはトピックからのメッセージをサブスクライブして消費する責任を負います。
  • パーティション: トピックは、複数のパーティションに分割できる論理的な概念です。各パーティションは単一のトピックに属します。同じトピックの下にある異なるパーティションに含まれるメッセージは異なります。パーティションは、ストレージ レベルで追加可能なログ ファイルと見なすことができます。メッセージがパーティション ログ ファイルに追加されると、特定のオフセットが割り当てられます。
  • オフセット: オフセットは、パーティション内のメッセージの一意の識別子です。 Kafka はこれを使用して、パーティション内のメッセージの順序を確保します。ただし、オフセットはパーティションにまたがりません。つまり、Kafka はトピックの順序ではなくパーティションの順序を保証します。
  • レプリケーション: レプリケーションは、Kafka がデータの高可用性を保証する方法です。 Kafka の同じパーティションのデータは、複数のブローカー上に複数のコピーとして存在できます。通常、プライマリ コピーのみが外部に対して読み取りおよび書き込みサービスを提供します。プライマリ コピーが配置されているブローカーがクラッシュしたり、ネットワーク障害が発生したりした場合、Kafka はコントローラーの管理下にある新しいリーダー コピーを再選択して、外部に読み取りおよび書き込みサービスを提供します。
  • レコード: 実際に Kafka に書き込まれ、読み取ることができるメッセージ レコード。各レコードにはキー、値、タイムスタンプが含まれます。

Kafka トピック パーティション レイアウト

テーマ

Kafka はトピックをパーティション化し、パーティションを同時に読み取りおよび書き込みできます。

Kafka コンシューマーオフセット

消費者オフセット

動物園の飼育員

飼育係

  • ブローカー登録: ブローカーは分散して展開され、互いに独立しています。 Zookeeper は、クラスターに登録されているすべてのブローカー ノードを管理するために使用されます。
  • トピック登録: Kafka では、同じトピックのメッセージは複数のパーティションに分割され、複数のブローカーに分散されます。これらのパーティション情報とブローカーとの対応する関係も Zookeeper によって管理されます。
  • プロデューサーの負荷分散: 同じトピック メッセージは複数のブローカーに分割されて分散されるため、プロデューサーはこれらの分散ブローカーにメッセージを合理的に送信する必要があります。
  • コンシューマーの負荷分散: プロデューサーと同様に、Kafka のコンシューマーも、複数のコンシューマーが対応するブローカー サーバーからメッセージを適切に受信できるように、負荷分散する必要があります。各コンシューマー グループには複数のコンシューマーが含まれており、各メッセージはグループ内の 1 つのコンシューマーにのみ送信されます。さまざまなコンシューマー グループは、互いに干渉することなく、独自の特定のトピックでメッセージを消費します。

答え

Kafka のアーキテクチャを簡単に説明してください。

プロデューサー、コンシューマー、コンシューマー グループ、トピック、パーティション。

Kafka はプッシュ モードですか、それともプル モードですか?プッシュとプルの違いは何ですか?

Kafka プロデューサーはプッシュ モードを使用してブローカーにメッセージを送信し、コンシューマーはプル モードを使用してメッセージを消費します。プル モードでは、コンシューマーがオフセットを自分で管理できるため、読み取りパフォーマンスが向上します。

Kafka はどのようにメッセージをブロードキャストしますか?

消費者グループ。

Kafka メッセージは順番通りですか?

トピック レベルは順序付けられていませんが、パーティション レベルは順序付けられています。

Kafka は読み取りと書き込みの分離をサポートしていますか?

サポートされていません。リーダーのみが外部への読み取りおよび書き込みサービスを提供します。

Kafka はどのようにして高いデータ可用性を確保するのでしょうか?

レプリカ、ack、HW。

Kafka における zookeeper の役割は何ですか?

クラスター管理、メタデータ管理。

トランザクションはサポートされていますか?

トランザクションは 0.11 以降でサポートされ、「正確に 1 回」を実現できます。

パーティションの数を減らすことはできますか?

いいえ、データは失われます。

<<:  「オルタナティブクラウド」移行戦略 | 3種類のクラウド移行パス、複数当事者のコラボレーション

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

推薦する

Kafka はどのように設計されたのでしょうか?

[[409438]]画像はBaotu.comよりメッセージ キューは主に、アプリケーションの結合、非...

SEOオリジナル記事とソフト記事の違いは何ですか?

私たちはオリジナル記事の代筆業を営んでいますが、クライアントからよく「なぜ私たちのために書いてくれる...

外部リンクが王様の時代に最も効果的な外部リンクを構築する方法

SEOにおける外部リンクの役割はますます小さくなるとよく聞きますが、外部リンクが王様の時代であること...

陳一偉がSUSE China 3.0の舵取りを担い、デジタル世界への足掛かりを築く計画

SUSE は今後 3 年間で事業を 2 倍に拡大する可能性が高いと言っても過言ではありません。 SU...

ウェブサイトの電子メールプロモーション活動からの電子メールマーケティングの長所と短所

「人手不足」により、人材サイトの人気が高まっています。百度では人材や求職情報をクリックしたり、大型プ...

血液から学んだ教訓: セルフサービス医療ウェブサイトを構築する際に注意すべきいくつかの側面

病院にとって、ウェブサイトマーケティングの効果は、特に私立病院の場合、より多くの患者を引き付けること...

hostyun 上のすべての AS9929 VPS は as4809+as9929 に変換されました。みんなでテストして検証してみましょう。

この二日間、Hostyun が、すべてのオリジナル AS9929 ネットワーク シリーズ VPS に...

企業はクラウドコンピューティングの支出に100億ドル以上を無駄にする:その理由

エンタープライズクラウド管理会社RightScale Inc.の新しい予測によると、企業は2018年...

Baidu 入札データ分析検索用語と顧客サービス記録

入札広告を展開していく中で、継続的にデータを分析する必要があります。現在、入札広告を運営する従来型企...

革新的なSEO最適化戦術がウェブサイト開発に貢献

SEO最適化には、受注-最適化-完了の3つのステップがあります。熟練した操作に少し戸惑いを感じました...

「信憑性のない」噂が再浮上:360がSogouの株式を12億元で取得?

新浪科技は7月12日早朝、投資銀行の内部関係者が最近、360がSogouの経営権を取得することを決定...

「クラウド」を巡る戦いで、インターネット大手はどのように事態を好転させるのだろうか。

2017 年、クラウド コンピューティングをめぐる「戦争」は依然として激化しています。昨年から始まっ...

Baiduの推奨の重要性を無視しないでください

月収10万元の起業の夢を実現するミニプログラム起業支援プランBaidu 関連の検索用語と Baidu...

ウェブマスターネットワークニュース:電子商取引が生鮮食品市場に参入。アリランが「クラウドキャット」を発売

1. 電子商取引が「コールドチェーン」の欠点を補うために生鮮食品市場に参入電子商取引は「コールドチェ...

キーワードランキングが下がっている理由の分析

著者は現在、企業の Web サイトを最適化しています。以前はランキングがかなり良かったのですが、先週...