ホームページ  >  記事  >  運用・保守  >  Apache Kafka データ収集とは何ですか

Apache Kafka データ収集とは何ですか

藏色散人
藏色散人オリジナル
2019-09-29 10:45:265422ブラウズ

Apache Kafka データ収集とは何ですか

Apache Kafka データ収集とは何ですか?

Apache Kafka - はじめに

Apache Kafka は LinkedIn で誕生し、2011 年にオープン ソースの Apache プロジェクトになり、その後 2011 年に Apache のファーストクラス プロジェクトになりました。 2012年。 Kafka は Scala と Java で書かれています。 Apache Kafka は、パブリッシュとサブスクライブに基づいたフォールトトレラントなメッセージング システムです。高速かつスケーラブルで、設計により分散されています。

このチュートリアルでは、Kafka の原理、インストール、操作について説明し、その後、Kafka クラスターのデプロイメントについて紹介します。最後に、リアルタイム アプリケーションとビッグ データ テクノロジーとの統合について説明します。

このチュートリアルに進む前に、Java、Scala、分散メッセージング システム、および Linux 環境についてよく理解しておく必要があります。

ビッグデータでは、大量のデータが使用されます。データに関しては、主に 2 つの課題があります。 1 つ目の課題は大量のデータを収集する方法であり、2 つ目は収集したデータを分析することです。これらの課題を克服するには、メッセージング システムが必要です。

Kafka は、分散型高スループット システム向けに設計されています。 Kafka は、従来のメール ブローカーの代替としてうまく機能する傾向があります。他のメッセージング システムと比較して、Kafka は優れたスループット、組み込みのパーティショニング、レプリケーション、固有のフォールト トレランスを備えているため、大規模なメッセージ処理アプリケーションに最適です。

メール システムとは何ですか?

メッセージング システムは、あるアプリケーションから別のアプリケーションにデータを転送する役割を担うため、アプリケーションはデータに集中でき、データの共有方法については気にする必要がありません。分散メッセージングは​​、信頼性の高いメッセージ キューの概念に基づいています。メッセージは、クライアント アプリケーションとメッセージング システムの間で非同期的にキューに入れられます。 2 種類のメッセージング パターンが使用可能です。1 つはポイントツーポイント、もう 1 つはパブリッシュ/サブスクライブ (pub-sub) メッセージング システムです。ほとんどのメッセージング パターンは pub-sub に従います。

ポイントツーポイント メッセージング システム

ポイントツーポイント システムでは、メッセージはキューに残ります。 1 つ以上のコンシューマーがキューからメッセージを消費できますが、特定のメッセージを消費できるのは最大でも 1 つのコンシューマーだけです。コンシューマがキューからメッセージを読み取ると、そのメッセージはキューから消えます。このシステムの典型的な例は注文処理システムです。このシステムでは、各注文は 1 つの注文処理装置によって処理されますが、複数の注文処理装置が同時に動作することもできます。以下の図はその構造を示しています。

Apache Kafka データ収集とは何ですか

パブリッシュ/サブスクライブ メッセージング システム

パブリッシュ/サブスクライブ システムでは、メッセージはトピック内に残ります。ピアツーピア システムとは異なり、コンシューマは 1 つ以上のトピックをサブスクライブし、そのトピック内のすべてのメッセージを消費できます。パブリッシュ/サブスクライブ システムでは、メッセージ ジェネレーターはパブリッシャーと呼ばれ、メッセージ コンシューマーはサブスクライバーと呼ばれます。実際の例としては、スポーツ、映画、音楽などのさまざまなチャンネルを公開している Dish TV があります。誰でも自分のチャンネルに登録してサブスクリプション チャンネルを取得できます。

Apache Kafka データ収集とは何ですか

#カフカとは何ですか?

Apache Kafka は、分散パブリッシュ/サブスクライブ メッセージング システムであり、大量のデータを処理でき、あるエンドポイントから別のエンドポイントにメッセージを配信できる強力なキューです。 Kafka は、オフラインおよびオンラインのメッセージ利用に適しています。 Kafka メッセージはディスク上に保持され、データ損失を防ぐためにクラスター内でレプリケートされます。 Kafka は、ZooKeeper 同期サービスに基づいて構築されています。 Apache Storm および Spark と完全に統合され、リアルタイムでデータ分析をストリーミングします。

利点 以下に Kafka のいくつかの利点を示します。 -

信頼性 - Kafka は分散、分割、複製され、フォールト トレラントです。

スケーラビリティ - Kafka メッセージング システムは、ダウンタイムなしで簡単に拡張できます。

耐久性 - Kafka は分散コミット ログを使用します。つまり、メッセージはできるだけ早くディスク上に残るため、耐久性があります。

パフォーマンス - Kafka は、パブリッシュ メッセージとサブスクライブ メッセージの両方で高いスループットを備えています。数テラバイトのメッセージが保存されている場合でも、安定したパフォーマンスを維持します。

Kafka は非常に高速で、ダウンタイムとデータ損失がゼロであることを保証します。

ユースケース

Kafka は多くのユースケースに使用できます。それらの一部を以下に示します。

メトリクス - Kafka は、監視データの実行によく使用されます。これには、分散アプリケーションから統計を集約して運用データの一元化フィードを生成することが含まれます。

ログ集約ソリューション - Kafka を組織全体で使用して、複数のサービスからログを収集し、それらを標準形式で複数のサーバーに提供できます。

ストリーム処理 - Storm や Spark などの一般的なフレームワーク

ストリーミングは、トピックからデータを読み取り、処理し、処理されたデータをユーザーとアプリケーションが利用できる新しいトピックに書き込みます。 Kafka の強力な耐久性はストリーム処理でも非常に役立ちます。

Kafka には

が必要です

Kafka は、すべてのリアルタイム データ ソースを処理するための統合プラットフォームです。 Kafka は、低遅延メッセージングをサポートし、マシン障害が発生した場合のフォールト トレランスを保証します。多数の異なる消費者を処理する能力があります。 Kafka は非常に高速で、1 秒あたり 200 万回の書き込みを実行します。 Kafka はすべてのデータをディスクに保存します。これは基本的に、すべての書き込みがオペレーティング システム (RAM) ページ キャッシュに送られることを意味します。これにより、データがページ キャッシュから Web ソケットに非常に効率的に転送されます。

Apache 関連の知識の詳細については、Apache 使用法チュートリアル 列をご覧ください。

以上がApache Kafka データ収集とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。