Kafka の適用可能なシナリオをネットワーク全体で最も包括的に図解で解説します。

Kafka の適用可能なシナリオをネットワーク全体で最も包括的に図解で解説します。

メッセージングシステム

メッセージング システムは、データ プロデューサーの分離や未処理メッセージのキャッシュなど、さまざまなシナリオで使用されます。 Kafka は従来のメッセージング システムの代替として使用できます。従来のメッセージング システムと比較して、Kafka はスループットと可用性が優れているため、大規模なメッセージの処理に適しています。

経験則として、メッセージングでは通常、スループット要件は低くなりますが、エンドツーエンドのレイテンシが低くなる可能性があり、多くの場合、Kafka の信頼性の高い耐久性のあるメカニズムに依存します。

この点で、Kafka は従来のメッセージング システム (ActiveMQ および RabbitMQ) に匹敵します。

ストレージシステム

Kafka に書き込まれたデータはディスクに保存され、冗長バックアップが行われます。 Kafka では、プロデューサーは確認を待つことができます。構成により、すべてのレプリケーションが完了するまで書き込みが成功したとは見なされないようにすることができ、データの可用性が確保されます。

Kafka はストレージを重視しており、クライアントが読み取り位置を独自に制御できるようにします。 Kafka は、高パフォーマンス、低レイテンシ、高可用性のログ送信ストレージを提供できる特別なファイル システムと考えることができます。

ログ集約

ログ システムには、通常、ログの収集、クリーニング、集約、保存、表示の機能が必要です。 Kafka は、他のログ集約ソリューションの代わりとしてよく使用されます。

Scribe や Flume と比較すると、Kafka は同等に優れたパフォーマンス、より堅牢なスタッキング保証、およびエンドツーエンドの低レイテンシを提供します。ログが記録されるため、Kafka でのログ集約のコストが高くなります。

Kafka はログを実現できます:

  • クリーニング(コーディングが必要)
  • 集約(信頼性は高いが、ディスクを地上に設置する必要があるため高価)
  • ストレージ

ELK は人気のあるログ記録システムです。 Kafka の協力により、より成熟したソリューションが実現します。 ELK テクノロジー スタックでは、Kafka は主にバッファの役割を果たし、必要に応じてログを収束できます。

写真

システム監視とアラーム

ログ分析システムと同様に、監視とトラブルシューティングのためにシステムメトリックを収集する必要があります。違いは、メトリックは構造化データであるのに対し、ログは非構造化テキストであることです。メトリクス データは Kafka に送信され、Flink で集計されます。集計データは、リアルタイム監視ダッシュボードや PagerDuty などのアラート システムによって使用されます。

写真

コミットログ

Kafka は分散システムの外部コミット ログとして機能できます。ジャーナルは、ノード間でデータを複製するのに役立ち、障害が発生したノードからデータを回復するための再同期メカニズムとして機能します。

Kafka のログ圧縮機能は、この使用法をサポートするのに役立ちます。

ウェブサイトアクティビティの追跡 - 推奨システム

Kafka の本来の目的は、ユーザー行動追跡パイプラインを、リアルタイムのパブリッシュ/サブスクライブ ソースのセットに再構築することです。ウェブサイトのアクティビティ (ウェブページの閲覧、検索、その他のユーザー操作) を中央トピックに公開します。各アクティビティ タイプはトピックに対応しています。これらのサブスクリプション ソースに基づいて、リアルタイム処理、リアルタイム監視、Kafka データの Hadoop またはオフライン データ ウェアハウス システムへのバッチ ロード、オフライン データ処理、レポート生成などの一連のユース ケースを実現できます。

各ユーザーは Web を閲覧する際に大量のアクティビティ情報を生成するため、アクティビティ追跡データの量は通常非常に大きくなります。 (Kafkaの実用化)

Amazon のような電子商取引サイトでは、過去の行動や類似のユーザーを使用して製品の推奨を計算します。次の図は、推奨システムがどのように機能するかを示しています。 Kafka は生のクリックストリーム データを送信し、Flink はそれを処理し、モデル トレーニングはデータ レイクからの集約データを使用します。

写真

これにより、各ユーザーに対する推奨事項の関連性を継続的に改善することができます。 Kafka のもう 1 つの重要な使用例は、リアルタイムのクリックストリーム分析です。

ストリーム処理 - Kafka ストリーム API

Kafka コミュニティは、データの生成と消費のメカニズムを提供するだけでは不十分であると考えています。また、ストリーミング データに対するリアルタイム処理メカニズムも提供する必要があります。

0.10.0.0 以降、Kafka は、Stremrs API を提供することで、軽量でありながら強力なストリーム処理を提供します。実際、ストリーム参照における次のようないくつかの厄介な問題を解決するのに役立つのは、Streams API です。

  • 順序が乱れたデータの処理
  • コード変更後にデータを再度処理する
  • ステートフルストリーミング計算を実行する

Streams API のストリーム処理は、入力トピックからデータを消費し、さまざまな処理を実行し、結果をターゲット トピックに書き込むという複数の段階で構成されています。 Streams API は、Kafka が提供するコア プリミティブに基づいて構築されています。入力と出力には Kafka のコンシューマーとプロデューサーを使用し、状態の保存には Kfka を使用します。

ストリーム処理フレームワーク: Flink、spark streaming、Storm は、正統的なストリーム処理フレームワークです。 Kafka は、ストリーム処理において、ストリーム ストレージとしての役割を果たします。

CDC (変更データキャプチャ)

  • CDCは、レプリケーションまたはキャッシュ/インデックスの更新のためにデータベースの変更を他のシステムにストリーミングします。
  • Kafka は、データ パイプラインを構築するための優れたツールでもあり、さまざまなソースからデータを取り込み、処理ルールを適用し、データをウェアハウス、データ レイク、またはデータ グリッドに保存するために使用できます。
  • 以下に示すように、トランザクション ログは Kafka に送信され、ElasticSearch、Redis、セカンダリ データベースによって取り込まれます。

写真

画像

システム移行

レガシー サービスのアップグレードは困難です。

  • 古い言語
  • 複雑なロジック
  • 検査不足

MQ を使用するとリスクを軽減できます。

注文サービスをアップグレードするには、古い注文サービスを更新して、Kafka からの入力を消費し、結果を ORDER トピックに書き込みます。新しい注文サービスは同じ入力を消費し、結果を ORDERNEW トピックに書き込みます。

写真

調整サービスは、ORDER と ORDERNEW を比較します。同じであれば、新しいサービスはテストに合格します。

イベントソーシング

イベントがシステム内の第一級オブジェクト (つまり、真実のソース) として扱われる場合、保存されたアプリケーションの状態は一連のイベントとなり、システム内の他のすべてはこれらの永続的で不変のイベントに基づいて再計算できます。

イベント ソーシングは、一連のイベントにおける状態の変化をキャプチャすることです。通常、Kafka は主要なイベント ストアとして使用されます。障害、ロールバック、または状態の再構築が必要な場合、Kafka からのイベントはいつでも再適用できます。

<<:  分散ロックのウォッチドッグメカニズムの詳細な説明

>>:  Amazon、AWS「サーバーレス」クラウドサービスの改善を発表:データベース容量をオンラインで拡張可能、クラウドキャッシュ技術「マイクロ秒遅延」

推薦する

中国電信の新ドメイン名の歴史の逆転はあなた次第

最近、中国電信はオンラインビジネスホールの新しいドメイン名を導入する移行作業を開始しました。このドメ...

PZEA-28 USD/年/20 IP/512 MB RAM/20 GB HDD/800 GB トラフィック/ロサンゼルス/Alipay

KVMLA (2011 年に設立、登録企業、中国商人が所有、すでに中国の VPS で多少有名) の別...

スマート交通におけるエッジコンピューティングの応用に関する簡単な分析

1. エッジコンピューティングとは何ですか?エッジ コンピューティングは、5G ネットワーク アーキ...

ブランドはBilibiliでどのようにマーケティングを行えるのでしょうか?

6月25日、ビリビリのトップストリーマーである王冰冰は、@CMG Observationと共同制作し...

SimpleNode - $45/年/KVM/1g メモリ/2CPU/35g ハードディスク/3T トラフィック

SimpleNode は 2000 年から運営されており、一定の評判があります。小規模で洗練された ...

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

Kafka は、パブリッシングおよびサブスクリプションベースのメッセージング システムです。一般的に...

5分でDockerの基本原理を学ぶ

あるクラスメートが私に次のような例え話をしてくれました。ホスト マシンは大きな家のようなもので、Do...

WeChat AA決済からユーザーのソーシャル消費習慣を育成する方法

2003 年 10 月、Taobao の取引ニーズにより Alipay が誕生しました。その後、Al...

コンテナ管理のための 7 つの Docker コマンド

Docker入門Docker は、コンテナ内でアプリケーションを構築、デプロイ、実行するためのオープ...

arebz: 香港 VPS/ロサンゼルス VPS、40M 専用、最大 258IP

Standard Interconnect (arebz) の Ji Liu さんからメッセージ: ...

zji: 香港サーバー (物理マシン)、35% 割引コード、月額 552 元から、オプションのデータセンター: 大埔、葵湾、雲底、連合

zji は 2 月に香港サーバーの大規模なプロモーションを開始しました: (1) 香港大埔と香港葵湾...

「クラウド + データベース」がデジタル変革への道を開く

[51CTO.com からのオリジナル記事] データがビジネスを推進し、この傾向は「インテリジェンス...

デジタルオーシャンはどうですか? [年] Digitaloceanのオランダデータセンターの簡単なレビュー

DigitalOcean は、AMD シリーズのクラウド サーバーをリリース以来テストしていません。...

2012 年の 5 つの企業オンライン マーケティング戦略

企業にとって一般的なインターネット マーケティング戦略は、Baidu プラットフォームの活用、プロモ...

人気ソフトウェアはもはや耐えられない:変革のために読者から数百万ドルを集める

現在、インターネットの圧力により、従来の印刷出版物は徐々に衰退しています。国内の有名なコンピュータゲ...