技術メモ(仮)

IT系の話や研究,他のことなど話して行けたらいいな~って感じです.ただいまJavaを学習中

Apache Kafkaについて

今回,Apache Kafkaついて少し書いてみたいと思う.
自分の理解がどれほどのものか確かめるため,あとメモ的な意味.
Rubyはどこいったとか,Javaどうしたとかお構いなし.

Kafkaとは

Apache KafkaとはLinkedinが開発したpublish-subscribeシステム.
特徴としてリアルタイム処理とオフライン処理療法に対応してるらしい.
とりあえず僕のイメージがリアルタイムでデータを貯めこむマシン的な感じ.
間違ってたらごめんなさい.
ちなみに公式ページはここhttp://kafka.apache.org/

用語

message

流すデータ.例えばTwitterの1ツイートデータ,サーバの1ログとかが1messageに当たる.

topic

messageのカテゴリのこと.topicは自分で名前を決めれる.
例えばtwitterのデータはtwitterというtopicに流すとかサーバのログはlogsとかいうtopicに流すとかできる.

broker

Kafkaにおいてmessageを貯めるところ.ここにデータが格納されている.

producer

brokerにmessageを送信するcomponent.とりあえず送信するやつと覚えていたらいいと思う.

consumer

brokerからmessageを読むcomponent.データを取り出して読むことをconsumeという.

consumer group

言葉通り,consumerをグルーピングしたもの.

offset

consumerと密接に関わってくる単語.consumerがどこまでconsumeしたかの情報を保持している.
その情報を管理しているのはZookeeperというまた別のOSSである.

システム図

f:id:fuji_151a:20140223221420p:plain

とりあえずKafkaについて簡単に述べた感じ.
次からproduceとconsumeを行ってみようと思う.

以上

参考

ペンギン様:http://d.hatena.ne.jp/kimutansk/