活久見!Kafka 宣布棄用 Java 8。。。
時(shí)間:2021-10-25 14:35:23
手機(jī)看文章
掃描二維碼
隨時(shí)隨地手機(jī)看文章
[導(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ā)布了:主要更新如下:
第一條就是宣布棄用對(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ì)。
- 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