Kafka 0.9 發布
confluent的CTO Neha Narkhede女士在11月24日宣布 Apache Kafka 發布0.9版本 。confluent是由apache kafka的創建者也就是LinkedIn開發Kafka的那個team成立的一家公司。這個版本提供了相當多的Feature和bug fix,具體的改動可以參看 523 JIRA
以下是0.9的主要的改動:
安全
這次Kafka提供了三個安全特性。一是提供Kerberos 和 TLS 身份認證。而是提供了類似Unix-like權限系統,控制哪些用戶可以訪問數據。三是提供數據傳輸加密。
當然只有新的producer,consumer API和0.9的consumer實現才能使用這些安全特性。很抱歉的是老的API還是沒有這些安全方面的控制。
當然這些安全特性實現了向下兼容的方式,不啟動安全特性的用戶不必擔心性能的降低。
這只是第一版的安全特性,更多的安全控制會在將來的版本中提供。
Kafka Connect
Kafka成為一個非常流行的實時數據流系統。社區也寫了很多的connector 比如 Camus ,mongo-connector-kafka-doc-manager,couchbase-kafka-connector
等,但是由于各個廠家/社區/個人實現的項目,不統一,學習起來也有曲線,所以Kafka 0.9提供了一個新的Feature:Kafka Connect (Copycat)。

Kafka Connect可以方便地在Kafka上進行大規模的數據導入導出。
為用戶定義配額
一個大的Kafka集群可能有多個用戶。0.9以前,consumer 如果處理的消息非常快,可能會壟斷整個boker的網絡資源,producer也是如此。現在Kafka 0.9提供了基于client的用戶配額控制。對于Producer可以控制每個client的每秒寫的字節數,對于Consumer控制每個 client的每秒讀的字節。
新的Consumer
Kafka 0.8.2, Producer被重新設計, Kafka 0.9則重新設計了Consumer接口。它不再區分high-level consumer API和low-level consumer API,而是提供了一個統一的consumer API。Kafka本身可以維護offset,consumer的position,也可以自己維護。這樣consumer可以不借助 ZooKeeper,而是使用自己的系統來保持自己的讀取位置。
Kafka 0.9不再支持 Java 6和Scala 2.9。
貢獻者應該有10個左右的中國人或者華人,挺不錯。