本文へスキップ

Apache Kafkaとは?

あぱっちかふか

Apache Kafkaとは、大量データリアルタイムで処理・配信するための分散メッセージングシステムです。

Apache Kafkaは、もともとLinkedInが社内の大規模データパイプライン問題解決するために開発し、2011年にオープンソース化した分散ストリーミングプラットフォームです。現在はApache Software Foundationのトッププロジェクトとして多くの企業で活用されています。

Kafkaの基本的な仕組みは「パブリッシュ・サブスクライブ(Pub/Sub)モデル」です。データの送り手(プロデューサー)がメッセージを「トピック」と呼ばれるカテゴリに送信し、受け手(コンシューマー)が必要なトピックを購読してメッセージを受け取ります。メッセージはKafkaのクラスタ内に一定期間保持され、複数のコンシューマーが独立して読み取れる点が特徴です。

Kafkaが支持される主な理由は以下の通りです。

  • 高スループット:1秒間に数百万件のメッセージを処理可能
  • スケーラビリティ:ブローカーを追加するだけで容量を拡張できる
  • 耐障害性:データを複数のサーバーにレプリケーションして保護
  • 再処理可能:メッセージを保持しているため、過去データの再読み込みが可能

主な用途には、リアルタイムのログ収集・ユーザー行動分析・マイクロサービス間の非同期通信・IoTセンサーデータの集約などがあります。Netflix・Twitter・Uber・楽天など世界中の大規模サービスで採用されています。

使い方・例文

「各マイクロサービスはApache Kafkaを介してイベントを非同期にやり取りしており、サービス間の直接依存をなくしている」のように使われます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語