重磅!Apache Kafka 3.1.0发布!
Posted Flink
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重磅!Apache Kafka 3.1.0发布!相关的知识,希望对你有一定的参考价值。
我很高兴代表 Apache Kafka® 社区宣布Apache Kafka 3.1.0的发布。3.1.0 版本包含许多改进和新功能。我们将在这篇博文中重点介绍一些更突出的功能,但请参阅发行说明以获取完整的更改列表。
虽然仍然不建议将 KRaft 用于生产(已知差距),但我们已经修复了多个错误,并且我们继续添加缺失的功能。
分层存储工作仍在继续,目标是解锁无限扩展和更快的重新平衡时间。
您还可以观看发布视频,了解 Apache Kafka 3.1.0 中的新功能摘要。
Kafka 代理、生产者、消费者和 AdminClient
KIP-516:主题标识符
从 Apache Kafka 3.1 开始,FetchRequest
支持主题 ID。主题 ID 提供了一种更安全的方式来从主题中获取数据,而不会与同名的过时主题进行错误交互。它还提高了 fetch 协议的效率,因为Uuids
在线发送通常比发送小Strings
。这是KIP-516发展向前迈出的重要一步。
KIP-773:区分以毫秒和纳为单位测量的一致度量延迟
KIP-773使用 millis 和 nanos 增强了三个新客户端指标的命名一致性。例如,io-waittime-total
重新引入为io-wait-time-ns-total
. 之前引入的没有的指标ns
将被弃用,但可用于向后兼容。
KIP-768:扩展 SASL/OUTHBEARER 并支持 OIDC
KIP-768提供了 KIP-255 中定义的接口的内置和生产级实现,以允许 Kafka 连接到 OpenID 身份提供者(例如,Okta、Auth0 和 Microsoft Azure)以进行身份验证和令牌检索。
KIP-748:添加代理计数指标
KIP-748引入了两个由 ZooKeeper 和 KRaft 控制器公开的新指标:ActiveBrokerCount
和FencedBrokerCount
. 它们分别暴露了控制器已知的集群中活动代理的数量和控制器已知的受保护代理的数量。
Kafka Streams
KAFKA-13439:不推荐使用急切的重新平衡协议
自 Kafka 2.4 以来,协作式再平衡协议一直是默认协议,但我们继续支持 Eager 式再平衡协议,以提供从早期客户端版本升级的路径。此支持将在未来的版本中删除,因此任何仍在使用 Eager 协议的用户都应准备完成将其应用程序升级到版本 3.1 中的协作协议。有关详细信息,请参阅KAFKA-13439。
KIP-783:将TaskId
字段添加到StreamsException
KIP-783保证向未捕获的异常处理程序抛出的每个异常,无论是新StreamsUncaughtExceptionHandler
的还是旧的 generic UncaughtExceptionHandler
,都被包装为StreamsException
. KIP 还向该类引入了一个新TaskId
字段StreamsException
,并使用 getter API 来公开它。为源自特定任务或与特定任务相关的任何异常设置此字段。
KIP-775:外键连接中的自定义分区器
今天,Kafka Streams 中的外键 (FK) 连接只有在连接的两个表(主表和外键表)都使用默认分区器时才有效。
此限制是由于实现中的订阅和响应主题被硬连线以使用默认分区器。如果外键表未与订阅主题共同分区,则外键查找可能会被路由到没有外键表状态的 Streams 实例,从而导致缺少连接记录。类似地,如果主表未与响应主题共同分区,则订阅响应可能会被路由到不包含原始(触发)记录的实例,从而导致哈希比较失败和连接结果丢失。
KIP-775通过扩展外键连接接口以允许传入自定义分区器,引入了对具有自定义分区器的表的外键连接的支持。
KIP-766:使用 SessionStore/WindowStore 的开放端点获取/findSessions 查询
KIP-766扩展了现有范围接口的语义,ReadOnlySessionStore
以ReadOnlyWindowStore
支持无界范围。具体来说,接口现在支持使用空值作为表示无限范围的一种方式。
KIP-763:具有开放端点的范围查询
KIP-763扩展了现有range
和reverseRange
接口的语义ReadOnlyKeyValueStore
以支持无限范围。具体来说,接口现在支持使用空值作为表示无限范围的一种方式。
KIP-761:将总阻塞时间指标添加到 Streams
KIP-761引入了一个新的度量标准,该度量标准blocked-time-total
衡量 Kafka Streams 线程自启动以来在 Kafka 上花费的总时间。用户可以定期对该指标进行采样,并使用样本之间的差异来测量间隔内阻塞的时间。这对于调试 Kafka Streams 应用程序性能非常有用,因为它给出了应用程序在 Kafka 上被阻塞的时间与处理记录的比例。
MirrorMaker
KIP-690:添加附加配置以控制 MirrorMaker2 内部主题命名约定
MirrorMaker2 (MM2) 内部主题名称(心跳、检查点和偏移同步)在源代码中是硬编码的,这使得 MM2 很难与任何具有主题命名约定规则且不允许自动创建的 Kafka 集群一起运行为主题。在这种情况下,您需要预先手动创建这些内部主题,并确保它们确实遵循集群规则和主题创建指南,因此 MM2 应该可以灵活地让您覆盖内部主题的名称以使用您创建的主题。
KIP-690引入了新方法来ReplicationPolicy
定义如何根据一些新配置命名 MM2 内部主题。
总结
除了此处列出的 KIP 之外,Apache Kafka 3.1 有很多很棒的修复和改进。了解更多:
有关更改的完整列表,请参阅发行说明
查看视频或播客以了解更多信息
下载Apache Kafka 3.1.0以开始使用最新版本
这是一项巨大的社区努力,因此感谢为此版本做出贡献的每个人,包括我们所有的用户以及我们的 114 位作者和评审人!
[重磅]Apache基金会宣布接收阿里消息中间件RocketMQ为孵化项目
继向Apache软件基金会捐赠JStorm后,阿里巴巴在开源界又有一大举动。
11月28日,阿里巴巴宣布将开源分布式消息中间件RocketMQ捐赠给Apache,成为Apache 孵化项目,孵化成功后RocketMQ有望成为国内首个互联网中间件在Apache上的顶级项目,成为全球继ActiveMQ,Kafka之后,分布式消息引擎家族中的新成员。此次捐赠,意味着以MQ(消息队列)为代表的互联网中间件在新兴物联网、大数据领域会发挥着越来越大的作用,将有更多的开发者因此受益。
RocketMQ是阿里巴巴在2012年开源的第三代分布式消息中间件,由阿里巴巴中间件团队维护,其商用版MQ可在阿里云上购买。历年双11,RocketMQ都承担了阿里巴巴生产系统百分之百的消息流转,在核心交易链路有着稳定和出色的表现,是承载交易峰值(2016年为17万笔/秒)的核心基础产品之一。今年双十一,更是创造了万亿级消息精准低延迟投递。
阿里巴巴中间件团队(Aliware)负责人小邪透露,RocketMQ背后的研发团队核心成员专注于分布式领域多年,拥有分布式领域高质量专利数十篇。其商用版的Aliware消息队列MQ,每天流转几千亿条消息,支持多协议接入,包括HTTP/MQTT/TCP等,目前有超过1000家付费企业用户在使用。
据悉,RocketMQ开源至今,社区参与度非常高,国内拥有超大规模的活跃交流群,ISSUE上更是收录了来自全球数百个高质量的话题交流以及问题沉淀。在2015年中日韩开源论坛上,RocketMQ斩获CJK OSS大奖,今年早些时候又进入欧美主流开源门户网站awesome-java视野,印有中国标签的消息中间件正式走出国门。
阿里巴巴介绍了自己在开源领域的贡献,无论是开源软件的应用、回馈以至自研技术的开源都非常活跃,目前维护的热门开源项目超过 115 个。不久之前,阿里巴巴还开源了 AliSQL、Weex等,阿里云数据库高级专家彭立勋还被MariaDB基金会任命为首个中国成员。
“Apache优秀的社区理念会驱动着更多立志打造世界级品牌的团队不断发展,促进其生态更加健康和活跃,”小邪表示,“阿里巴巴将继续拥抱国际化标准,为开源届贡献更多的力量,同时也诚邀有志向打造业界领先分布式核心基础产品的有志之士加入。”
--------------------------------------------------------------------------------------------------------
12月6日-7日,20:00-22:00,阿里巴巴技术论坛(Alibaba Technology Forum,简称ATF)--双11技术创新在线专场将会为您解密双11背后的黑科技。
以上是关于重磅!Apache Kafka 3.1.0发布!的主要内容,如果未能解决你的问题,请参考以下文章
[重磅]Apache基金会宣布接收阿里消息中间件RocketMQ为孵化项目