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

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

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

推薦する

左がWeChatマーケティング、右がWeiboマーケティング

WeChatの誕生以来、そのユーザー数の急激な増加、Tencentの注目度の高さ、そしてWeiboと...

なぜキーワードは一夜にして消えてしまったのでしょうか?

このウェブサイトのことを話すと、もう落ち着かなくなります。2か月間頑張って、ようやくホームページにキ...

インターネットの女王:BATとSohuが世界のトップ10ウェブサイトにランクイン

インターネットの女王:BATとSohuが世界のトップ10ウェブサイトにランクイン中国新聞社、5月30...

Kyverno による Kubernetes ポリシー管理

OPA の Gatekeeper と Kyverno は、CNCF の 2 つの主要なポリシー管理プ...

SEOの基礎を学ぶ初心者におすすめのSEO本10選

2011年以降、インターネット上でSEO最適化のトレーニング機関が数多く設立され、クラスを開設して受...

クラウドコンピューティングの導入は単なる紙上の作業ではない

クラウド コンピューティングが初めて人々の目に留まったとき、多くの人は、それは単なる話で実際的な意味...

SEOチャネルの原因、プロセス、種類を理解するのに役立つ記事

私は小さなウェブサイトからこの業界に入ったため、「SEOチャンネル」という言葉を初めて聞いたときはよ...

異常なウェブサイトキーワードクロールの理由についての簡単な説明

みなさんこんにちは。私はハルビン仮想および現実ウェブサイト設計です。最近仕事が忙しくて、何も書く時間...

shardhost-256m メモリ KVM/3.75g SSD/年間 20 ドルの支払い

Shardhost は、2011 年 6 月に英国で登録された小規模な VPS プロバイダーです (...

セルフメディアはどれくらい生き残れるでしょうか?セルフメディアに何が欠けているかについて話しましょう。

過去2年間、生活のペースが加速し、モバイルインターネットが急速に発展するにつれ、断片的な読書方法とし...

ユーザー調査: 85 歳以上の変異世代

最近、インターンシップに来た1990年代生まれの若者を受け入れました。彼女のレベルをテストするために...

Qiyiの創設者であるTang Rong氏は、携帯電話のマーケティングの価値と欠点について語る

月収10万元の起業の夢を実現するミニプログラム起業支援プランモバイルインターネットの急速な発展に伴い...

水秋池がシングルページのコピーライティングで使用されるマーケティングのAIDMAルールについて語る

Lushou のシングルページの成功は、多くのウェブマスターにシングルページのウェブサイトを作成する...

テンセントクラウドとソウル観光体育局がスマート観光プラットフォームの構築で協力

テンセントクラウドは5月18日、韓国ソウル観光体育局との提携を発表した。 Tencent Cloud...

Sharktech Shark High Defense サーバー - $149/L5639/24g メモリ/2X2T/1Gbps/無制限トラフィック

sharktech (Shark Data Center) は、特別プロモーションで高防御サーバーを...