在今年早些时候,Kafka迎来了具有里程碑意义的4.0版本更新,关于4.0版本你可以参考:Apache Kafka 4.0重磅发布,核心特性速览!
4.0版本更新后,Kafka官方发布了4.1.0版本,这个版本是一次重要的迭代,其核心更新可以概括为:
-
引入了原生消息队列语义(Queues for Kafka)的预览版,通过共享组(Share Groups)实现了高并发的竞争消费模式; -
Kafka Streams 有了全新的、基于服务器端协调的再平衡协议,显著提升了流处理应用的伸缩性和可靠性; -
Kafka Connect增加了多版本插件支持,极大地简化了连接器的升级和运维流程。
此外,4.1版本还深化了全新消费者组协议(KIP-848)的应用,增强事务处理的服务器端防御和错误处理的一致性,并在客户端API、监控和安全认证方面进行了多项实用改进。
我们下面就来盘点一下4.1版本中的核心特性。
新特性与功能增强
Kafka 4.1.0版本在功能层面引入了很多创新,其中最引人注目的包括原生消息队列语义、Kafka Streams再平衡协议以及Kafka Connect插件管理能力的提升。
Queues for Kafka
Kafka 4.1.0 中,最受期待的功能是 "Queues for Kafka"(KIP-932)。这个能力标志着Kafka从一个纯粹的发布/订阅(Pub/Sub)流处理平台,向一个同时支持传统消息队列(Message Queue)语义的多模式事件流系统演进。
什么意思呢?
对于那些需要点对点、竞争消费模式的场景,Kafka把能力边界扩展到了RabbitMQ、ActiveMQ等队列系统的能力范畴。
Kafka Streams 新再平衡协议
Kafka Streams是Kafka生态系统中的核心流处理库,它的性能和稳定性在很大程度上取决于任务(Task)的分配和再平衡机制。
Kafka4.1.0版本中,KIP-1071引入了一个全新的、专为Kafka Streams设计的再平衡协议,该协议基于KIP-848中全新的消费者组协议构建,从根本上解决传统再平衡过程中存在的"Stop-the-World"问题,提升流处理应用的伸缩性和可靠性。
Kafka Connect 多版本插件支持
Kafka4.1.0引入了对多版本插件的支持,允许在同一个Kafka Connect集群中并行安装和运行同一连接器的多个版本。
架构与设计变更
Kafka4.1引入了全新消费者组协议(KIP-848),移除了旧的组协调器,并引入了服务器端驱动的再平衡机制。
全新消费者组协议
KIP-848是 Kafka历史上最重要的架构升级之一,它对消费者组的再平衡协议进行了彻底的重写。
将再平衡的协调逻辑从客户端迁移到 Broker 端,从而实现一种真正的增量、异步的再平衡过程,从根本上解决了传统协议中"Stop-the-World"的问题。
事务服务器端防御机制
Kafka的事务功能为实现端到端的"恰好一次"(Exactly-Once)语义提供了强大的保障。
在实际应用中,由于客户端的误用或网络问题,可能会导致一些难以处理的错误,例如Out-of-Order Sequence错误。KIP-890通过在服务器端增加防御性检查,来增强事务协议的健壮性,防止因客户端问题导致的数据不一致或事务挂起。
事务错误处理
Kafka4.1.0标准化了所有事务API的错误处理逻辑,为开发者提供了清晰、一致的错误返回,简化客户端应用程序的错误处理和重试策略。
生态系统集成与工具链更新
这部分内容包括客户端与 API 改进、监控与可观测性增强、对OAuth 2.0认证支持等,主要是提升客户端的健壮性、增强系统的可观测性以及扩展安全认证的灵活性。
以上就是Kafka4.1.0版本的核心特性,希望对你有帮助。
最后,欢迎加入我们的知识星球小圈子:

