<\!DOCTYPE html> Apache Kafka < /dev/null | 用語集 | IT/AIエンジニア 野口真一

Apache Kafka

データ分析 | IT用語集

Apache Kafkaとは

Apache Kafkaは、分散ストリーミングプラットフォームです。高スループットでリアルタイムデータの配信・処理を実現し、Producer-Consumer型のメッセージングシステムを提供します。LinkedIn社で2011年にオープンソース化され、Netflix、Uber、Airbnb、PayPalなど世界中の大規模システムで活用されています。

2025年時点では、Apache Kafkaは単なるメッセージキューを超え、イベントストリーミングプラットフォームとして位置づけられています。

Kafkaの基本概念

  • Producer:データ(メッセージ)をKafkaに書き込む送信者
  • Consumer:Kafkaからデータを読み取る受信者
  • Topic:メッセージを分類するカテゴリ(例:user-events、order-created)
  • Partition:Topicを並列処理するための分割単位
  • Broker:Kafkaサーバー(クラスター構成で高可用性を実現)
  • Consumer Group:複数のConsumerが協調して並列処理するグループ
  • Offset:Partitionでのメッセージ位置(処理済み位置の追跡に使用)

主な特徴と強み

  • 高スループット:単一ブローカーで1秒間に数百万メッセージを処理可能
  • 低レイテンシ:ミリ秒以下のリアルタイムデータ配信
  • 耐久性・永続性:データをディスクに永続化(設定期間分をリプレイ可能)
  • スケーラビリティ:Partitionを増やしてスケールアウト
  • フォールトトレランス:レプリカで冗長化し単一障害点なし

主な活用シーン

  • ログ収集・集約:マイクロサービス間のログを一元収集
  • リアルタイム分析:Webサイトのページビュー・クリック等をリアルタイムで集計
  • イベント駆動アーキテクチャ:Eコマースの注文→在庫更新→配送通知の非同期連携
  • データパイプライン:DBからデータレイクへのETLパイプライン
  • IoTデータ収集:センサーデータの大量処理
  • 変更データキャプチャ(CDC):DBの更新をKafkaでリアルタイム同期

Kafkaエコシステム

  • Kafka Connect:DB・S3・Elasticsearch等とのコネクタ(Source/Sink)
  • Kafka Streams:軽量なストリーム処理ライブラリ(Java)
  • KSQL/ksqlDB:SQL構文でのストリーム処理
  • Confluent Platform:企業向けKafkaマネージドサービス
  • Amazon MSK:AWSのマネージドKafkaサービス
  • Confluent Cloud:フルマネージドのクラウドKafka

2025〜2026年の最新動向

  • KRaft(ZooKeeper不要):Kafka 3.x以降でZooKeeper依存を廃止し、Kafka自体で合意形成
  • Kafka 4.0(2024年末〜2025年):KRaft必須化、パフォーマンス大幅向上
  • AI/MLパイプライン統合:機械学習の特徴量エンジニアリングをKafka Streamsで実装するパターンが普及
  • Serverless Kafka:Confluent Cloud serverless・Amazon MSK Serverlessの普及

よくある質問(FAQ)

Q. Apache Kafkaとは何ですか?

Apache Kafkaは分散ストリーミングプラットフォームです。Producer-Consumer型のメッセージングシステムで、高スループット・低レイテンシ・耐久性を実現します。LinkedIn社で開発され、Netflix・Uber等の大規模システムで活用されています。

Q. KafkaとRabbitMQの違いは何ですか?

Kafkaはログ永続化・大容量スループット・リプレイに強く、ストリーミング処理や大量データパイプラインに適しています。RabbitMQはタスクキュー・細かいルーティング・低レイテンシが強みで、マイクロサービス間の非同期通信に向いています。用途に応じて選択します。

Q. Kafkaのマネージドサービスはありますか?

はい。Amazon MSK(AWSのマネージドKafka)、Confluent Cloud(フルマネージド・Confluent Platform)、Azure Event Hubs(Kafkaプロトコル互換)、Google Cloud Pub/Sub(Kafka互換)などがあります。インフラ管理を省略したい場合はマネージドサービスが便利です。

この用語についてもっと詳しく

Apache Kafkaに関するご質問や、システム導入のご相談など、お気軽にお問い合わせください。