Kafka3.0.0发布:主要更新如下:弃用对Java8和Scala2.12的支持KafkaRaft支持元数据主题的快照以及自我管理的quorum的其他改进Kafka更强的交付保证默认启用生产者消息格式v0和v1的弃用OffsetFetch和FindCoordinator请求中的优化更灵活的MirrorMaker2配置和MirrorMaker1的弃用能够在KafkaConnectorConnector日志上下文和连接器客户端覆盖中的单个调用中重新启动连接器任务现在默认启用增强语义用于KafkaStreams中的时间戳同步RevampedpublicAPIforStream'sTaskIdDefaultserde在Kafka中变为null第一个是宣布弃用对Java8和Scala2.12的支持!!!在Kafka3.0.0中,Kafka项目中的所有组件都已弃用对Java8和Scala2.12的支持,并宣布弃用,但3.0.0仍然可以使用。这个公告只是给用户一个调整的时间。Kafka4.0、Java8、Scala2.12将正式取消支持。其实其他一些中间件早就停止支持Java8了,选择了Java11作为最低支持版本,但是Kafka,这个可能是从Java17发布开始的,也就是近半个月,官宣放弃Java8第一枪。.虽然Java8有点老了,但它仍然是市场上使用最多的版本。虽然部分中间件不再支持Java8,但不影响实际开发工作。Java8+系列教程我也写过一堆现在关注公众号Java技术栈,在菜单栏阅读。Kafka目前支持的Java版本如下:从官网来看,Kafka目前支持两个LTS版本(Java8和Java11)。如果开启TLS,Java11的性能会有明显的提升,所以官方也强烈推荐大家使用Java11。Java11是比Java8更新的长期支持版本,它还包括很多其他的性能提升,比如如:G1垃圾收集器、CRC32C、字符串压缩、Thread-Local握手机制等。另外,从安全的角度,建议使用较新的安全版本,以防止旧版本出现安全漏洞。现在随着Java17的发布和免费,Java17仍然是历史上最快的JDK。相信在不久的将来,Kafka对Java17的支持也会得到安排。在多个Java版本上开发、编译和测试,对于Kafka团队来说,绝对是一笔不小的维护成本,那么Kafka为什么还要继续保留Java8呢?Java11/Java17或许是更香的选择!此外,Kafka3.0还改进了KRaft共识算法(Raft的变种)。这种Kafka内置的KRaft共识机制用于替代ApacheZooKeeper。很久以前(Kafka2.8.0)Kafka宣布要取代Zookeeper:但是还不是很成熟,不建议在生产环境中使用。官方只推荐在开发环境中试用。Kafka一向以性能着称,实在没有必要额外维护一个重量级的Zookeeper组件,所以想出了KRaft机制来让自己变得更轻,带来更好的性能。因此,在以后的版本中,Zookeeper也将消失在Kafka的长河中。。。总结一下,你可能认为很多知识在你开始学习之前就被淘汰了,你永远跟不上它的步伐。技术。..是的,虽然我们没有学到很多东西,但我们仍然需要了解技术的广度。如果面试官问你Kafka的leader选举机制是怎样的,你只会说Zookeeper,不会说KRaft机制。如果存在,面试官可能会觉得你的技术敏锐度不够高。所以,我们不能天天重复CRUD和搬砖的工作。如果我们有时间和闲暇,我们必须始终保持对技术的渴望。既要追求深度,又要追求广度。这不仅是在职场,在面试战场也是如此。可以让你更舒服。好了,今天的分享就到这里。稍后栈长会分享更多有趣的Java技术和最新的技术资料。关注公众号Java技术栈第一时间推送。我也会分享主流的Kafka面试题和参考答案一切搞定后在公众号后台回复关键词“面试”刷题。最后,如果觉得我的文章对你有用,动动你的小手,送给正在看的人,转发吧,原创不易,楼主需要你的鼓励。版权声明:本文为公众号《Java技术栈》原创,原创不易,转载或引用本文内容请注明出处,抄袭者一律举报+投诉,并保留追究权利法律责任。近期热点文章推荐:1.1,000+Java面试题及答案(2021最新版)2.别在满屏的if/else中,试试策略模式,真的很好吃!!3.操!Java中xx≠null的新语法是什么?4、SpringBoot2.5发布,深色模式太炸了!5.《Java开发手册(嵩山版)》最新发布,赶快下载吧!感觉不错,别忘了点赞+转发!
