分散メッセージ処理 Apache kafka
複数データソースからデータをpullで受け取り、後続にメッセージとして流すリアルタイム分散メッセージ処理用のソフトウェア Apache kafka。Linkedin開発。
代表的なストリーミング処理ソフトウェアとしめStormがある。Twitter開発。
両者の違いは以下が参考になる。
kafkaはオンラインやオフライン両方に対応するメッセージ処理。メッセージの投げ先をHadoopへの連携が可能。Stormにも可能。kafkaは複数データセンターからのデータを集約する使い方もできる。
stormはストリーミング処理を多段構成にできる。
概要は以下のスライドが参考になる。
kafkaについては以下のブログに複数回にわたって解説記事があるので参考になる。
処理性能のペンチマーク
ここではluxunというkafkaにインスパイアされて開発されたソフトウェアと比較されている。
kafkaがOSのファイルシステムとページキャッシュを使っているのに対し、luxunはメモリ処理しているので高性能な結果になったと考察されている。
気になった人にはインストールマニュアルがあります。