當(dāng)前位置:首頁 > 公眾號(hào)精選 > 程序員小灰
[導(dǎo)讀]本文轉(zhuǎn)載自公眾號(hào)Java技術(shù)棧Kafka3.0.0發(fā)布了:主要更新如下:ThedeprecationofsupportforJava8andScala2.12KafkaRaftsupportforsnapshotsofthemetadatatopicandotherimprove...

本文轉(zhuǎn)載自公眾號(hào) Java技術(shù)棧

Kafka 3.0.0 發(fā)布了:

主要更新如下:

  • The deprecation of support for Java 8 and Scala 2.12
  • Kafka Raft support for snapshots of the metadata topic and other improvements in the self-managed quorum
  • Stronger delivery guarantees for the Kafka producer enabled by default
  • Deprecation of message formats v0 and v1
  • Optimizations in OffsetFetch and FindCoordinator requests
  • More flexible Mirror Maker 2 configuration and deprecation of Mirror Maker 1
  • Ability to restart a connector's tasks on a single call in Kafka Connect
  • Connector log contexts and connector client overrides are now enabled by default
  • Enhanced semantics for timestamp synchronization in Kafka Streams
  • Revamped public API for Stream's TaskId
  • Default serde becomes null in Kafka
第一條就是宣布棄用對(duì) Java 8 和 Scala 2.12 的支持!??!

在 Kafka 3.0.0 中,Kafka 項(xiàng)目中的所有組件都已棄用對(duì) Java 8、Scala 2.12 的支持,宣布棄用,但 3.0.0 還能用,這次宣布只是給用戶一個(gè)調(diào)整的時(shí)間,到了 Kafka 4.0,Java 8、Scala 2.12 將將正式取消支持。

其實(shí),其他一些中間件也早有停止對(duì) Java 8 的支持,選擇 Java 11 作為最低支持版本,但 ?Kafka,這可能是自 Java 17 發(fā)布以來,也就是近半月時(shí)間,官宣棄用 Java 8 打響的第一槍。。

Java 8 雖然有點(diǎn)老了,但依然是現(xiàn)在市場(chǎng)上用的最多的版本,雖然有些中間件不再支持 Java 8 了,但實(shí)際開發(fā)工作并不受影響,Java 8 系列教程我也寫了一堆了,關(guān)注公眾號(hào)Java技術(shù)棧在菜單欄中進(jìn)行閱讀吧。

Kafka 目前支持的 Java 版本如下:

從官網(wǎng)看,Kafka 目前支持兩個(gè) LTS 版本( Java 8 和 Java 11)

如果啟用 TLS,那么 Java 11 的性能將得到顯著提升,所以官方也強(qiáng)烈推薦大家使用 Java 11。

Java 11 是比 Java 8 更新一代的長(zhǎng)期支持版本,它還包括許多其他的性能改進(jìn),比如:G1 垃圾收集器、CRC32C、字符串壓縮、Thread-Local ?握手機(jī)制 等等,另外從安全的角度考慮,建議使用較為新一點(diǎn)的安全版本,防止老版本的安全漏洞。

現(xiàn)在隨著 Java 17 的發(fā)布及免費(fèi),Java 17 還是史上最快的 JDK,相信在不久的時(shí)間,Kafka 對(duì)于 Java 17 的支持也會(huì)安排上。在多個(gè) Java 版本上進(jìn)行開發(fā)、編譯和測(cè)試,對(duì)于 Kafka 團(tuán)隊(duì)來說肯定是一筆不小的維護(hù)成本,所以,Kafka 還有什么理由繼續(xù)保留 Java 8 呢?

Java 11/ Java 17 可能是更香的選擇!

此外,Kafka 3.0 還改進(jìn)了 KRaft 共識(shí)算法(Raft 的變種)

這個(gè) Kafka 內(nèi)置的 KRaft 共識(shí)機(jī)制,是用來取代 Apache ZooKeeper 的,早在很久之前(Kafka 2.8.0) Kafka 就宣布替換 ?Zookeeper 了:

不過到現(xiàn)在還不是很成熟,目前還不建議用在生產(chǎn)環(huán)境,官方也只是建議在開發(fā)環(huán)境進(jìn)行試用。

Kafka 一向以性能著稱,還要額外維護(hù)一個(gè)重量級(jí)的 Zookeeper 組件,確實(shí)也沒有必要,所以就自己搞出了 KRaft 機(jī)制,讓自己變得更輕量,也可以帶來更優(yōu)的性能。

所以,在未來的版本中,Zookeeper 也會(huì)消失在 Kafka 的長(zhǎng)河里……

總結(jié)下,可能大家覺得,很多知識(shí),還沒開始學(xué),就要被淘汰了,永遠(yuǎn)跟不上技術(shù)的步伐。。。

是的,很多東西,我們雖然不學(xué),但也要知道,也就是技術(shù)的廣度,如果現(xiàn)在面試官問你 Kafka 的領(lǐng)導(dǎo)選舉機(jī)制是怎樣的,你還只會(huì)說 Zookeeper,而不知道 KRaft 機(jī)制的存在,那面試官可能就覺得你對(duì)技術(shù)的敏銳能力不高了。

所以說,我們不能每天重復(fù)著重復(fù) CRUD 搬磚勞動(dòng),有時(shí)間,閑下來,也要時(shí)刻保持對(duì)技術(shù)的渴望,不但要追求深度,也要追求廣度,這樣不僅是在職場(chǎng),還是在面試戰(zhàn)場(chǎng),都能讓你游刃有余。

好了,今天的分享就到這里了,后面我會(huì)分享更多好玩的 Java 技術(shù)和最新的技術(shù)資訊,關(guān)注本公眾號(hào)第一時(shí)間推送。

最后,覺得我的文章對(duì)你用收獲的話,動(dòng)動(dòng)小手,給個(gè)在看、轉(zhuǎn)發(fā),原創(chuàng)不易,我需要你的鼓勵(lì)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉
關(guān)閉