Apache Kafkaとは?
あぱっちかふか
Apache Kafkaとは、大量のデータをリアルタイムで処理・配信するための分散メッセージングシステムです。
Apache Kafkaは、もともとLinkedInが社内の大規模データパイプライン問題を解決するために開発し、2011年にオープンソース化した分散ストリーミングプラットフォームです。現在はApache Software Foundationのトッププロジェクトとして多くの企業で活用されています。
Kafkaの基本的な仕組みは「パブリッシュ・サブスクライブ(Pub/Sub)モデル」です。データの送り手(プロデューサー)がメッセージを「トピック」と呼ばれるカテゴリに送信し、受け手(コンシューマー)が必要なトピックを購読してメッセージを受け取ります。メッセージはKafkaのクラスタ内に一定期間保持され、複数のコンシューマーが独立して読み取れる点が特徴です。
Kafkaが支持される主な理由は以下の通りです。
- 高スループット:1秒間に数百万件のメッセージを処理可能
- スケーラビリティ:ブローカーを追加するだけで容量を拡張できる
- 耐障害性:データを複数のサーバーにレプリケーションして保護
- 再処理可能:メッセージを保持しているため、過去データの再読み込みが可能
主な用途には、リアルタイムのログ収集・ユーザー行動分析・マイクロサービス間の非同期通信・IoTセンサーデータの集約などがあります。Netflix・Twitter・Uber・楽天など世界中の大規模サービスで採用されています。
使い方・例文
「各マイクロサービスはApache Kafkaを介してイベントを非同期にやり取りしており、サービス間の直接依存をなくしている」のように使われます。
この用語をシェア
最終更新: