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である.
システム図
とりあえずKafkaについて簡単に述べた感じ.
次からproduceとconsumeを行ってみようと思う.
以上