Kafka 宣布弃用 Java 8。。

简介: Kafka 3.0.0 发布了:

Kafka 3.0.0 发布了:


image.png


主要更新如下:


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

第一条就是宣布弃用对 Java 8 和 Scala 2.12 的支持!!!


在 Kafka 3.0.0 中,Kafka 项目中的所有组件都已弃用对 Java 8、Scala 2.12 的支持,宣布弃用,但 3.0.0 还能用,这次宣布只是给用户一个调整的时间,到了 Kafka 4.0,Java 8、Scala 2.12 将将正式取消支持。


其实,其他一些中间件也早有停止对 Java 8 的支持,选择 Java 11 作为最低支持版本,但 Kafka,这可能是自 Java 17 发布以来,也就是近半月时间,官宣弃用 Java 8 打响的第一枪。。


Java 8 虽然有点老了,但依然是现在市场上用的最多的版本,虽然有些中间件不再支持 Java 8 了,但实际开发工作并不受影响,Java 8+ 系列教程我也写了一堆了,关注公众号Java技术栈在菜单栏中进行阅读吧。


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


image.png


从官网看,Kafka 目前支持两个 LTS 版本( Java 8 和 Java 11)


如果启用 TLS,那么 Java 11 的性能将得到显著提升,所以官方也强烈推荐大家使用 Java 11。


Java 11 是比 Java 8 更新一代的长期支持版本,它还包括许多其他的性能改进,比如:G1 垃圾收集器、CRC32C、字符串压缩、Thread-Local 握手机制 等等,另外从安全的角度考虑,建议使用较为新一点的安全版本,防止老版本的安全漏洞。


现在随着 Java 17 的发布及免费,Java 17 还是史上最快的 JDK,相信在不久的时间,Kafka 对于 Java 17 的支持也会安排上。在多个 Java 版本上进行开发、编译和测试,对于 Kafka 团队来说肯定是一笔不小的维护成本,所以,Kafka 还有什么理由继续保留 Java 8 呢?


Java 11/ Java 17 可能是更香的选择!


此外,Kafka 3.0 还改进了 KRaft 共识算法(Raft 的变种)


这个 Kafka 内置的 KRaft 共识机制,是用来取代 Apache ZooKeeper 的,早在很久之前(Kafka 2.8.0) Kafka 就宣布替换 Zookeeper 了:


image.png


不过到现在还不是很成熟,目前还不建议用在生产环境,官方也只是建议在开发环境进行试用。


Kafka 一向以性能著称,还要额外维护一个重量级的 Zookeeper 组件,确实也没有必要,所以就自己搞出了 KRaft 机制,让自己变得更轻量,也可以带来更优的性能。


所以,在未来的版本中,Zookeeper 也会消失在 Kafka 的长河里……


总结下,可能大家觉得,很多知识,还没开始学,就要被淘汰了,永远跟不上技术的步伐。。。


是的,很多东西,我们虽然不学,但也要知道,也就是技术的广度,如果现在面试官问你 Kafka 的领导选举机制是怎样的,你还只会说 Zookeeper,而不知道 KRaft 机制的存在,那面试官可能就觉得你对技术的敏锐能力不高了。


所以说,我们不能每天重复着重复 CRUD 搬砖劳动,有时间,闲下来,也要时刻保持对技术的渴望,不但要追求深度,也要追求广度,这样不仅是在职场,还是在面试战场,都能让你游刃有余。


好了,今天的分享就到这里了,后面栈长会分享更多好玩的 Java 技术和最新的技术资讯,关注公众号Java技术栈第一时间推送,我也将主流 Kafka 面试题和参考答案都整理好了,在公众号后台回复关键字 "面试" 进行刷题。


最后,觉得我的文章对你用收获的话,动动小手,给个在看、转发,原创不易,栈长需要你的鼓励。


相关文章
|
4月前
|
消息中间件 Java Kafka
Java 事件驱动架构设计实战与 Kafka 生态系统组件实操全流程指南
本指南详解Java事件驱动架构与Kafka生态实操,涵盖环境搭建、事件模型定义、生产者与消费者实现、事件测试及高级特性,助你快速构建高可扩展分布式系统。
272 7
|
消息中间件 缓存 Java
java nio,netty,kafka 中经常提到“零拷贝”到底是什么?
零拷贝技术 Zero-Copy 是指计算机执行操作时,可以直接从源(如文件或网络套接字)将数据传输到目标缓冲区, 而不需要 CPU 先将数据从某处内存复制到另一个特定区域,从而减少上下文切换以及 CPU 的拷贝时间。
java nio,netty,kafka 中经常提到“零拷贝”到底是什么?
|
消息中间件 存储 Java
大数据-58 Kafka 高级特性 消息发送02-自定义序列化器、自定义分区器 Java代码实现
大数据-58 Kafka 高级特性 消息发送02-自定义序列化器、自定义分区器 Java代码实现
258 3
|
消息中间件 分布式计算 Java
大数据-73 Kafka 高级特性 稳定性-事务 相关配置 事务操作Java 幂等性 仅一次发送
大数据-73 Kafka 高级特性 稳定性-事务 相关配置 事务操作Java 幂等性 仅一次发送
194 2
|
11月前
|
消息中间件 存储 缓存
kafka 的数据是放在磁盘上还是内存上,为什么速度会快?
Kafka的数据存储机制通过将数据同时写入磁盘和内存,确保高吞吐量与持久性。其日志文件按主题和分区组织,使用预写日志(WAL)保证数据持久性,并借助操作系统的页缓存加速读取。Kafka采用顺序I/O、零拷贝技术和批量处理优化性能,支持分区分段以实现并行处理。示例代码展示了如何使用KafkaProducer发送消息。
|
消息中间件 存储 运维
为什么说Kafka还不是完美的实时数据通道
【10月更文挑战第19天】Kafka 虽然作为数据通道被广泛应用,但在实时性、数据一致性、性能及管理方面存在局限。数据延迟受消息堆积和分区再平衡影响;数据一致性难以达到恰好一次;性能瓶颈在于网络和磁盘I/O;管理复杂性涉及集群配置与版本升级。
488 1
|
消息中间件 Java Kafka
Flink-04 Flink Java 3分钟上手 FlinkKafkaConsumer消费Kafka数据 进行计算SingleOutputStreamOperatorDataStreamSource
Flink-04 Flink Java 3分钟上手 FlinkKafkaConsumer消费Kafka数据 进行计算SingleOutputStreamOperatorDataStreamSource
363 1
|
消息中间件 Java Kafka
Kafka不重复消费的终极秘籍!解锁幂等性、偏移量、去重神器,让你的数据流稳如老狗,告别数据混乱时代!
【8月更文挑战第24天】Apache Kafka作为一款领先的分布式流处理平台,凭借其卓越的高吞吐量与低延迟特性,在大数据处理领域中占据重要地位。然而,在利用Kafka进行数据处理时,如何有效避免重复消费成为众多开发者关注的焦点。本文深入探讨了Kafka中可能出现重复消费的原因,并提出了四种实用的解决方案:利用消息偏移量手动控制消费进度;启用幂等性生产者确保消息不被重复发送;在消费者端实施去重机制;以及借助Kafka的事务支持实现精确的一次性处理。通过这些方法,开发者可根据不同的应用场景灵活选择最适合的策略,从而保障数据处理的准确性和一致性。
1260 9
|
消息中间件 监控 Kafka
实时计算 Flink版产品使用问题之处理Kafka数据顺序时,怎么确保事件的顺序性
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。