Kafka のコアコンセプトを図解で解説しているので、一目で理解できます。

Kafka のコアコンセプトを図解で解説しているので、一目で理解できます。

[[399167]]

画像はPexelsより

1. 基本

[[399168]]

Kafka は、バックエンド サービスが相互に簡単に通信できるようにするストリーム処理システムであり、マイクロサービス アーキテクチャでよく使用されるコンポーネントです。

2. 生産者 消費者

プロデューサー サービス Producer は Kafka にメッセージを送信し、コンシューマー サービス Consumer は Kafka をリッスンしてメッセージを受信します。

サービスはプロデューサーとコンシューマーの両方になることができます。

3. トピック

トピックは、プロデューサーがメッセージを送信する宛先アドレスであり、コンシューマーの監視対象です。

サービスは複数のトピックを監視し、送信できます。

Kafka には [consumer-group] という概念があります。

これは、消費者として機能するサービスのグループです。

コンシューマー グループがメッセージを受信すると、Kafka はメッセージをグループ内のサービスにルーティングします。

これにより、メッセージの負荷のバランスが取れ、コンシューマーの拡張が容易になります。

トピックはメッセージ キューとして機能します。まず、メッセージが送信されました。

メッセージは記録され、キューに保存され、変更することはできません。

次に、このトピックのコンシューマーにメッセージが送信されます。

ただし、メッセージは削除されず、キューに残ります。

メッセージを送信し続けます。

前と同様に、メッセージはコンシューマーに配信され、変更できず、キューに残ります。 (メッセージがキューに留まる時間は、Kafka の設定を変更することで決定できます)

4. パーティション

上記の Topic の説明では、Topic はキューとして扱われます。実際、トピックはパーティションと呼ばれる複数のキューで構成されています。

これにより、トピックを拡張しやすくなります。

プロデューサーがメッセージを送信すると、メッセージはこのトピック内のパーティションにルーティングされます。

コンシューマーはすべてのパーティションをリッスンし、それらすべてからのイベントを消費します。

プロデューサーがメッセージを送信する場合、そのメッセージはデフォルトでトピック指向になります。トピックはどのパーティションに配置するかを決定し、デフォルトではポーリング戦略が使用されます。

同じタイプのメッセージが同じパーティション内に存在するようにトピックを構成することもできます。

たとえば、ユーザー メッセージを処理する場合、特定のユーザーのすべてのメッセージを 1 つのパーティションに配置できます。

たとえば、ユーザー 1 が 3 つのメッセージ (A、B、C) を送信します。デフォルトでは、これらの 3 つのメッセージは異なるパーティション (P1、P2、P3 など) にあります。

設定後、ユーザー 1 のすべてのメッセージが同じパーティション (P1 など) に送信されることが保証されます。

この機能の用途は何ですか?これはメッセージの秩序を保つためです。

異なるパーティション内のメッセージの順序は保証されません。 1 つのパーティション内のメッセージのみが順序付けられます。

5. 建築

Kafka はクラスターベースのアーキテクチャであり、ZooKeeper は重要なコンポーネントです。

ZooKeeper はすべてのトピックとパーティションを管理します。

トピックとパーティションはノードの物理ノードに保存され、ZooKeeper がこれらのノードの保守を担当します。

たとえば、トピックが 2 つあり、それぞれにパーティションが 2 つあります。

これは論理的な形式ですが、Kafka クラスター内の実際のストレージは次のようになります。

トピック A のパーティション #1 には 3 つのコピーがあり、各ノードに分散されています。

これにより、Kafka の信頼性とシステムの回復力が向上します。

3 パーティション #1 では、ZooKeeper はプロデューサーからのメッセージを受信するリーダーを指定します。

他の 2 つのパーティション #1 はフォロワーとして機能し、リーダーが受信したメッセージはフォロワーにコピーされます。

このようにして、各パーティションにはメッセージ データの全量が含まれます。

ノードに障害が発生しても、メッセージの破損を心配する必要はありません。

トピック A とトピック B のすべてのパーティションの分布は次のようになります。

読んでいただきありがとうございます。お役に立てれば幸いです。

編集者:タオ・ジアロン

出典: https://timothystepro.medium.com/visualizing-kafka-20bc384803e7

<<:  運用者の実践から、「インテリジェントマルチクラウド」がクラウド戦略成功の鍵となった理由

>>:  より小さなコンテナを構築する方法

推薦する

エッジ データ センター: デジタル変革の鍵となるか?

エッジ データ センターは、次世代の IT フロンティアの基盤です。しかし、すべてのエッジ データ ...

ウェブサイト分析: ウェブサイトのページブロックの価値を計算する方法

ウェブサイトの設計者が最も気にするのは、「1 インチのスペースも貴重」なホームページの価値を最大化す...

YTOエクスプレスは民間航空局に航空会社設立を申請した。

中国国際放送、北京、11月27日(記者:肖元)中国国営ラジオの「ニュース夕刊ラッシュアワー」の報道に...

中国のクラウドファンディングモデルを詳しく見る: 3W Coffeeが成功した理由

クラウドファンディングモデルについて私が最初に知ったのは、今ではとても有名なコーヒーショップをオープ...

akkocloud: 米国 cn2 gia、ドイツ cn2 gia、英国 cn2 gia、VPS 帯域幅を 300M から 500Mbps に無料でアップグレード、最低 299 元/年

ダブルイレブンとブラックフライデーの期間中、akkocloudは皆様に特別に有益な情報を提供しました...

Sina Technologyは本日、360対Tencent事件の最終裁判全体を生中継します

新浪科技は11月25日早朝、テンセントによる市場支配力の濫用に対する奇虎360の控訴が本日午前9時に...

Googleの新機能の解釈

Googleは、ユーザーが検索結果をピン留めまたは削除し、「あなたはこの結果を最初に選択した人です」...

bluevm-月額30ドルサーバー[100M無制限]

BlueVM はちょうど誕生日プロモーションを終えたばかりで、Host Cat は Web サイトで...

hudsonvalleyhost - 50% オフ プロモーション - 2G メモリ / 半年で 25 ドル

hudsonvalleyhost は、2004 年に設立されたと主張する IDC マーチャント (実...

リンク交換の見落とされがちな指標

外部リンクは、ウェブマスター業界では王様の地位を占めています。ウェブマスターは皆、その重要性を非常に...

インターネットサービス産業向け高度マーケティングガイド:製品と効果のデュアルエンジンコラボレーション、パンゴリンフルリンク変換

月給5,000~50,000のこれらのプロジェクトはあなたの将来ですインターネットの人口ボーナスが徐...

調査によると、ウェブサイト名も外部リンクになる可能性がある

ウェブサイト名は、その名前が示すとおり、ウェブサイトの一意の名前です。たとえば、私の個人的な SEO...

斉寧:ジャンクリンクはまだ存在し、リンクは国内需要を押し上げることもできる

SEO を行う人なら誰でも、SEO におけるリンクの重要性を知っています。私もリンクの正しい使い方や...

セルフサービス Web サイト構築システムに参加することを選択するときに注意すべき点は何ですか?

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