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

推薦する

これらの8つのステップをうまく実行すれば、あなたは最初の

タイトルからおわかりのように、今日私が皆さんにお伝えしたいのは、いかに早くランク付けし、素早く SE...

新浪微博のマイクロフレンドや親しい友達は、どのように発展してWeChatを超えることができるのでしょうか?

みなさんこんにちは、小思です。6月に書いた「WeChatとモバイルQQのどんなアプリが人気があるの?...

digitalocean、3月11日に50ドルをプレゼント

先週、DigitalOcean は、さらに 3,700 万ドルの資金を調達し、さまざまな開発に使用す...

一部のウェブサイトが検索エンジンに選ばれる理由をまとめます

ウェブサイトがブロックされることは、ウェブサイト構築者にとって最大の打撃であると言えます。 SEO ...

クラウド ストレージ アーキテクチャにおけるエンタープライズ レベルのデータ転送プラットフォームの技術ソリューション

企業がデータクラウドストレージを構築する上で、現在直面している重要な課題は、データ漏洩によるセキュリ...

インターネット ユーザーのニーズについての講演: ユーザーのニーズとは何でしょうか?

私は記録として、あるいは探求として、このような記事をずっと書きたいと思っていました。もちろん、もっと...

メディアマイクロブログ編集者の自己啓発 メディアにとってのマイクロブログの価値

メディアにとって、Weiboはある意味救いの手となり、メディアの声は増幅されるようだ。 Weibo ...

「SARSが保定に出現」という噂を流したウェブマスターは、法律に従って2年間の労働教養刑を宣告された。

保定市公安網によると、2012年2月26日、保定市公安局新市区支局は徹底的な調査を行った後、法に基づ...

OpenStack Designate を使用した DNS as a Service (DNSaaS) の構築

[[265096]] OpenStack 用のマルチテナント DNS as a Service (D...

#Black5#+#Cyber​​Monday# Hostgator: 80% オフ、仮想ホスティング\VPS\サーバー

ホスティング業界で有名なブランドであるHostgatorが、「ブラックフライデー」と「サイバーマンデ...

元のウェブサイトを買い戻したいのですが、その価値があるかどうか教えていただけますか?

2010年に友人たちのサポートを得て、ローカルフォーラムを立ち上げました。2年間の開発を経て、私の経...

新しい D0 ステッピング Core i7-975 の消費電力とオーバークロック性能に関する予備調査

AMD は Phenom II X4 955 Black Edition を発売しようとしており、I...

Zhihuプロモーションプラットフォームのブランドマーケティング手法!

毎年、多くのお客様がオンラインマーケティングにZhihuプロモーションプラットフォームを使用していま...

5G ネットワークがパブリック クラウドと融合すると何が起こるでしょうか?

[[410935]]最近、米国第2位のモバイル通信事業者であるAT&Tは、パブリッククラウド...

SEO に関連するコンテンツの品質

公には、SEO(検索エンジン最適化)が望ましい結果を達成できるかどうかは、ウェブサイトのコンテンツの...