- もともとLinkedinが作ったやつ
- 今はapacheプロジェクト
- Scalaで作られてる
- 公式には "Apache Kafka is publish-subscribe messaging rethought as a distributed commit log." って書いてあった
- 公式サイト http://kafka.apache.org/
- ソースコード(svnのミラー?) https://github.com/apache/kafka
- 最新版は0.8.2.1
- 次は0.8.3が出るらしい(詳細未定?)
- 使ってる企業一覧
- sxr
- 依存関係図
- TCPで独自プロトコル
- http://confluent.io/
- Linkedinでkafkaやってた人達が独立してベンチャー作った
- Linkedinから出資受けてる
- コミッターの半分くらいここにいるのでは???
- gradleでビルドされてる(昔はsbtだったのに・・・)
- しかもなぜかScala 2.9と2.10と2.11でクロスビルド
- apacheプロジェクトなので、普通にgithubでpull req送れない -- 適当に送ってみたことはある https://github.com/apache/kafka/pull/65/files
- メーリングリストがgoogle groupじゃない
- https://twitter.com/xuwei_k/status/604258056323510273 該当箇所 → https://github.com/apache/kafka/blob/0.8.2.1/core/src/main/scala/kafka/admin/AdminUtils.scala#L339
- ナカーマ https://twitter.com/takezoen/status/610459404006113282 https://twitter.com/chibochibo03/status/610463381170950144
- case classのhashCodeとequalsをオーバーライドしてるけど、なんでしてるのこれ・・・ https://github.com/apache/kafka/blob/0.8.2.1/core/src/main/scala/kafka/cluster/Broker.scala#L75
- サーバー側とクライアント側のコードが完全に一緒でつらい
- クライアント側のコードが残念なので、最近Javaでクライアントコード書き直してるらしい。
- Scalaとはなんだったのか・・・
- 設定がプロパティファイル