Kafka從首次發(fā)布之日起颠锉,已經(jīng)走過(guò)了七個(gè)年頭。從最開始的大規(guī)模消息系統(tǒng)史汗,發(fā)展成為功能完善的分布式流式處理平臺(tái)琼掠,用于發(fā)布和訂閱、存儲(chǔ)及實(shí)時(shí)地處理大規(guī)模流數(shù)據(jù)停撞。來(lái)自世界各地的數(shù)千家公司在使用Kafka瓷蛙,包括三分之一的500強(qiáng)公司。Kafka以穩(wěn)健的步伐向前邁進(jìn)戈毒,首先加入了復(fù)制功能和無(wú)邊界的鍵值數(shù)據(jù)存儲(chǔ)艰猬,接著推出了用于集成外部存儲(chǔ)系統(tǒng)的Connect API,后又推出了為實(shí)時(shí)應(yīng)用和事件驅(qū)動(dòng)應(yīng)用提供原生流式處理能力的Streams API埋市,并于今年春季開始支持僅一次處理語(yǔ)義冠桃。如此廣泛的應(yīng)用和完備的功能以及如此悠久的歷史,無(wú)一不在說(shuō)明Kafka已經(jīng)成為一款穩(wěn)定的企業(yè)級(jí)產(chǎn)品道宅。而更為激動(dòng)人心的是食听,Kafka現(xiàn)在正式迎來(lái)了1.0.0版本!
Kafka 1.0.0發(fā)布的主要內(nèi)容如下污茵。
0.10.0版本里開始引入的Streams API在1.0.0版本里繼續(xù)演進(jìn)樱报,改進(jìn)了builder API(KIP-120),新增了用于查看運(yùn)行時(shí)活躍任務(wù)的API(KIP-130)和用于聚合分區(qū)的cogroup
API(KIP-150)省咨。增強(qiáng)的print()和writeAsText()方法讓調(diào)試變得更容易(KIP-160)肃弟。其他更多信息可以參考Streams文檔。
改進(jìn)了Connect的度量指標(biāo)(KIP-196),新增了大量用于健康監(jiān)測(cè)的度量指標(biāo)(KIP-188)笤受,并提供了集群的GloabalTopicCount和GlobalPartitionCount度量指標(biāo)(KIP-168)穷缤。
支持Java 9,實(shí)現(xiàn)更快的TLS和CRC32C箩兽,加快了加密速度津肛,降低了計(jì)算開銷。
調(diào)整了SASL認(rèn)證模塊的錯(cuò)誤處理邏輯(KIP-152)汗贫,原先的認(rèn)證錯(cuò)誤信息現(xiàn)在被清晰地記錄到日志當(dāng)中身坐。
更好地支持磁盤容錯(cuò)(KIP-112),更優(yōu)雅地處理磁盤錯(cuò)誤落包,單個(gè)JBOD上的磁盤錯(cuò)誤不會(huì)導(dǎo)致整個(gè)集群崩潰部蛇。
0.11.0版本中引入的冪等性生產(chǎn)者需要將max.in.flight.requests.per.connection參數(shù)設(shè)置為1,這對(duì)吞吐量造成了一定的限制咐蝇。而在1.0.0版本里涯鲁,這個(gè)參數(shù)最大可以被設(shè)置為5(KAFKA-5949),極大提升了吞吐量范圍有序。
關(guān)于新版本更多的變化可以查看發(fā)布說(shuō)明抹腿,也可以下載源代碼和二進(jìn)制包(Scala 2.11、Scala 2.12)旭寿。