従来の MQ に別れを告げる: Kafka は分散イベント ストリーミング プラットフォームですが、これは何を意味するのでしょうか?

従来の MQ に別れを告げる: Kafka は分散イベント ストリーミング プラットフォームですが、これは何を意味するのでしょうか?

1. はじめに

ビッグデータの時代では、リアルタイムのデータ処理とストリーミングデータ分析がますます重要になっています。大規模データの高スループットと低レイテンシの処理要件に対応するために、さまざまな分散ストリーム処理プラットフォームが登場しました。その中で、Apache Kafka は、高性能でスケーラブルな分散メッセージング システムとして、リアルタイム データ処理やデータ パイプラインで広く使用されるコア コンポーネントとなっています。

2. Kafka の概念

Apache Kafka は分散イベント ストリーミング プラットフォームです。

  • メッセージ キューやエンタープライズ メッセージング システムと同様に、イベント ストリームを公開およびサブスクライブします。
  • フォールト トレラントで永続的な方法でイベント ストリームを保存します。
  • イベント ストリームが発生したらそれを処理します。

分散イベント ストリームをより詳細に理解するには、まず、イベントとは世界またはビジネスで「何が起こったか」の記録であることを理解する必要があります。たとえば、ライドシェアリング システムでは、次のようなイベントが発生する可能性があります。

  • イベントキー:「アリス」
  • イベント値: 「勤務地での出張依頼」
  • イベントのタイムスタンプ: 「2020年6月25日午後2時6分」

イベント データは、何がいつ発生し、誰が関与したかを説明します。イベント ストリーミングは、データベース、センサー、モバイル デバイス、クラウド サービス、ソフトウェア アプリケーションなどのソースからイベントをリアルタイムでキャプチャする方法です。

イベント ストリーミング プラットフォームは、イベントを順番にキャプチャし、これらのイベント ストリームを永続的に保存して、リアルタイムで処理、アクション、応答したり、後で取得したりできるようにします。さらに、イベント ストリームは必要に応じてさまざまなターゲット テクノロジにルーティングできます。イベント ストリーミングにより、データの継続的なフローと解釈が保証され、適切な情報が適切な場所に適切なタイミングで提供されます。

これを実現するために、Kafka は複数のデータセンターにまたがる 1 つ以上のサーバー上でクラスターとして実行されます。そして、分散型、高度にスケーラブル、回復力があり、フォールト トレラントで、安全な方法で機能を提供します。さらに、Kafka はベアメタル ハードウェア、仮想マシン、コンテナー、オンプレミス、クラウドにデプロイできます。

Kafka を使用すると、タスクを管理するためのコマンドライン ツールと、シナリオのイベント ストリーミング ソリューションを構築するための Java および Scala API が提供されます。

イベント ストリーミングは、さまざまな業界や組織のさまざまなユースケースに適用できます。例えば:

  • メッセージングシステムとして。たとえば、Kafka は、証券取引所、銀行、保険会社などで支払いや金融取引をリアルタイムで処理するために使用できます。
  • アクティビティの追跡。たとえば、Kafka は、タクシーサービス、物流、自動車業界などの分野で、車、トラック、車両、貨物のリアルタイムの追跡と監視に使用できます。
  • 指標データを収集します。たとえば、Kafka を使用すると、IoT デバイスや工場、風力発電所などの他の機器からのセンサー データを継続的にキャプチャして分析できます。
  • ストリーム処理に使用されます。たとえば、Kafka は小売、接客、観光、モバイル アプリケーションなどの分野で、顧客とのやり取りや注文を収集して対応するために使用されます。
  • システムを分離します。たとえば、Kafka を使用して、会社のさまざまな部門で生成されたデータを接続、保存、提供します。
  • Hadoop などの他のビッグデータ テクノロジーと統合します。

Kafka の中核となる概念には、次の部分が含まれます。

トピック

トピックは、データを分類するために使用される、データ ストリームのカテゴリまたはラベルです。プロデューサーは特定のトピックにデータを公開し、コンシューマーはこれらのトピックをサブスクライブしてデータを受信します。

パーティション

各トピックは 1 つ以上のパーティションに分割でき、各パーティションは順序付けられたデータのシーケンスです。パーティショニングにより、複数のサーバー上でデータを並行して処理および保存できるため、高いスループットと負荷分散が実現します。

プロデューサー

プロデューサーは、Kafka トピックにデータを公開するアプリケーションです。指定されたトピックにデータを送信し、パーティション戦略に従ってターゲット パーティションを選択する役割を担います。

消費者

コンシューマーは、Kafka トピックをサブスクライブしてデータを読み取るアプリケーションです。 1 つ以上のトピックをサブスクライブし、指定されたオフセットからメッセージの消費を開始できます。

オフセット

オフセットは、パーティション内の各メッセージの一意の識別子であり、パーティション内のメッセージの位置を示します。コンシューマーはオフセットを指定して、特定の位置でメッセージを読み取ることができます。

Kafka は、ログ収集、イベント駆動型アーキテクチャ、リアルタイム分析、インジケーター監視、ストリーミング ETL など、さまざまなシナリオで使用できます。信頼性の高いデータ転送、永続的なストレージ、データ複製、フォールト トレランス メカニズムを提供し、大規模なデータ処理とストリーミング データ分析の効率と信頼性を高めます。

3. Kafka の機能

高スループット

Kafka は、高スループットのデータ ストリームを処理するように設計されています。 1 秒あたり数百万のメッセージを処理でき、多数のプロデューサーとコンシューマーを同時に処理できます。 Kafka は、パーティショニングと並列処理を通じて高スループットのデータ転送を実現します。

スケーラビリティ

Kafka は分散システムであり、クラスターにサーバーを追加することで容量とパフォーマンスを拡張できます。パーティション メカニズムを使用してデータを複数のノードに分散し、並列処理と水平スケーリングを可能にします。

永続ストレージ

Kafka は永続的なデータ ストレージを提供するため、メッセージが消費された場合でも、一定期間はディスク上に保持されます。これにより、アプリケーションはいつでも履歴データを再生したり、バッチ操作を実行したり、データを再処理したりできるようになります。

高可用性

Kafka は、データ複製と分散コピーのメカニズムを通じて高可用性を提供します。各パーティションには複数のレプリカがあり、そのうちの 1 つが読み取りおよび書き込み要求を処理するリーダーとして選択され、他のレプリカはバックアップおよびデータ複製のフォロワーとして機能します。リーダー レプリカに障害が発生した場合、データの可用性と継続性を確保するために、フォロワーの 1 つが新しいリーダーとして選出されます。

多言語サポート

Kafka は、Java、Python、Go、.NET など複数のプログラミング言語でクライアント API を提供するため、開発者はさまざまなプログラミング言語を使用して簡単にメッセージを生成および使用できます。

4. Kafka アプリケーション

Kafka は、ビッグデータやリアルタイムデータ処理の分野で幅広い応用シナリオを備えています。以下に、一般的な Kafka アプリケーションのシナリオをいくつか示します。

ログの収集と分析

Kafka は大量のログデータを効率的に収集して保存できます。アプリケーションはログ メッセージを Kafka トピックに公開でき、ログ分析システムはトピックをサブスクライブしてログ データをリアルタイムで消費および処理し、リアルタイムの監視、トラブルシューティング、データ分析を実行できます。

リアルタイムストリーム処理

ストリーム処理プラットフォームとして、Kafka はリアルタイムのデータ処理、変換、集約を実行できます。 Kafka Streams ライブラリが提供され、開発者はリアルタイムのストリーム処理アプリケーションを簡単に構築およびデプロイできます。リアルタイム ストリーム処理のシナリオには、リアルタイム コンピューティング、リアルタイム モニタリング、リアルタイム推奨などが含まれます。

イベント駆動型アーキテクチャ

イベント駆動型アーキテクチャのコアコンポーネントとして、Kafka は疎結合の非同期通信とイベント駆動型処理を実現できます。さまざまなサービスとコンポーネントが Kafka を通じてイベントを公開およびサブスクライブすることで、分離されたスケーラブルで可用性の高いアーキテクチャを実現できます。

メトリクス監視

Kafka は、システムのパフォーマンスとステータスをリアルタイムで監視するための指標データを収集および送信するためのプラットフォームとして使用できます。アプリケーションはインジケーター データを Kafka に送信でき、監視システムは対応するトピックをサブスクライブしてインジケーター データをリアルタイムで消費および処理し、リアルタイムの監視、アラーム、分析を行うことができます。

データパイプラインとETL

Kafka は、さまざまなデータ システムやアプリケーションを接続するためのデータ パイプラインとして使用できます。メッセージ キュー、データベース、データ レイク、その他のシステムと統合して、異種システム間のデータ フローと相互作用を実現できます。同時に、Kafka の永続的なストレージとストリーム処理機能により、リアルタイム ETL (抽出、変換、ロード) にも最適な選択肢となります。

メディアストリーム処理

Kafka は、オーディオ、ビデオなどのメディア データ ストリームの処理に使用できます。大規模なメディア データを効率的に処理および送信でき、ストリーミング メディア処理とリアルタイム分析をサポートします。リアルタイム放送やライブビデオなどのシナリオに適しています。

5. ユーザー

Apache Kafka は、大規模なデータの収集、処理、保存、分析を行う最も人気のあるオープンソースのストリーム処理ソフトウェアです。優れたパフォーマンス、低レイテンシ、フォールト トレランス、高スループットで知られ、1 秒あたり数千のメッセージを処理できます。 Kafka の使用例は 1,000 件を超え、その数は増え続けています。共通の利点としては、データ パイプラインの構築、リアルタイム データ ストリームの活用、運用メトリックの有効化、無数のソースにわたるデータ統合などが挙げられます。

現在、Kafka は、Fortune 100 企業の 80% 以上を含む数千の企業で使用されています。これには、Box、Goldman Sachs、Target、Cisco、Intuit などが含まれます。企業を強化し革新するための実証済みのツールである Kafka は、イベント ストリーミング アーキテクチャを通じて組織がデータ戦略を最新化できるようにします。コンピュータ ソフトウェア、金融サービス、医療から政府機関、運輸に至るまで、幅広い業界の組織で Kafka がどのように使用されているかを学びます。

<<:  FluxCD を使用した Kubernetes GitOps の実装

>>:  Kubernetes-Initコンテナの6つの特徴

推薦する

ネットワークマーケティングの有効性評価

オフライン マーケティングと比較したオンライン マーケティングの最大の利点の 1 つは、ほとんどのオ...

U-Mailは電子メールマーケティングの利点と応用分野について説明します

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

SEO 業界のボトルネックに春が訪れるのはいつでしょうか?

みなさんこんにちは。謝凱です。このタイトルを見ると、多くの人が同じように感じるかもしれません。SEO...

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

Digitalocean の北米データセンターは米国に限定されていません。実はカナダにもずっと存在し...

第1四半期のアプリ海外動向

4月21日、data.aiは最新レポート「2018年第1四半期の市場指数ランキング」を発表しました。...

詳細が成功か失敗かを決める:ウェブサイトのディレクトリパスの最適化設計方法

ウェブサイトの最適化において、多くのウェブマスターは全体的な最適化戦略を追求していますが、いくつかの...

Pinterest: ユーザーの興味グラフの価値を掘り出す

ピンタレストインターネット業界で登場する新製品をファッション業界の服の組み合わせに例えると、次のシー...

ウェブサイトのレイアウトを調整するためのスパイダーの2つのクロール方法を知る

最近、Baidu はスパム対策ページを厳重に取り締まっており、多くのサイトのランキングに大きな変動が...

spinservers: 米国(サンノゼ/ダラス)の1Gbps帯域幅無制限トラフィックサーバー、月額99ドルから、e3-1280v5/32gDDR4/1T NVMe

1Gbps の帯域幅で月額 99 ドルと低価格ながら、構成が非常に高度な spinservers の...

とても鮮やかですね!エッジコンピューティングとは何ですか?とても興味深い説明ですね!

Alibaba Cloud がまたトラブルを起こしているのでしょうか?同社は2018年に、雲奇会展深...

アリババクラウド、新OS「Longlizard」を発表、特別基金に20億元を投資

10月20日、2021年雲奇カンファレンスにおいて、アリババクラウドは新しいオペレーティングシステム...

リンク交換に対する Google の姿勢は変わりましたか?

リンクはインターネットの基盤であり、当然ながら検索エンジンが Web ページの重要性と権威を判断する...

マルチクラウドのトップ 10 トレンド: 包括的か、それとも混沌か?

今日のマルチクラウド環境は 1、2 年前とは大きく異なり、明日のマルチクラウド環境も同様に大きく異な...

IT運用に新しい指標が必要な理由

組織は、クラウド コンピューティング インフラストラクチャを使用して顧客に新しいサービスを収益性の高...