Kafka2.5.0发布信息


发布于 2020-03-01 / 70 阅读 / 0 评论 /
Kafka2.5.0发布内容和发布时间

Kafka2.5.0发布信息可参考https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=143428858

1.发布时间

KIP Freeze时间:2020年1月22日

Feature Freeze时间:2020年1月29日

Code Freeze时间:2020年2月12日

Release时间:2020年2月26日

2.版本需求

Kafka2.5.0版本对以下24个特性进行了开发。

KIP-150 - Kafka-Streams Cogroup

过去,将多个流聚合成一个流可能很复杂,而且容易出错。通常我们需要将所有流分组(group)并聚合(aggregate)到表中,然后进行多个 outerjoin调用。

新的 co-group 算子简化了这个过程,其减少了状态存储调用的数量,总体上提高了性能。

KIP-352: Distinguish URPs caused by reassignment

KIP-360: Improve reliability of idempotent/transactional producer

提高幂等/事务性生产者的可靠性

这个 KIP 解决了生产者状态保留在 broker 上问题,使得幂等性保证成为可能。在此之前,当日志被截断以强制保留或从删除记录的调用中截断时,broker 将删除生产者的状态,这将导致 UnknownProducerld 异常。通过这个改进,broker 将保留 producer 状态直到过期。这个KIP还为生产者提供了一种从意外错误中恢复的强大方法。

KIP-396: Add Reset/List Offsets Operations to AdminClient

KIP-447: Producer scalability for exactly once semantics (partial)

Producer 可伸缩性支持仅且一次语义

这个KIP简化了以事务方式从 Kafka 读写的应用程序的API。以前,这个用例通常需要为每个输入分区提供单独的生产者实例,现在这个限制已经被取消了。这使得构建消费大量分区的仅且一次语义的应用程序变得更加容易。

KIP-455: Create an Administrative API for Replica Reassignment

KIP-511: Collect and Expose Client's Name and Version in the Brokers (new metrics)

KIP-515: Enable ZK client to use the new TLS supported authentication

KIP-523: Add KStream#toTable to the Streams DSL

将事件流解释为一个变更日志并将其物化成一张表表是一种强大的方法。KIP-523 引入了 toTable 函数的可以将其应用到流中,并能够将每个 key 的最新值进行物化。需要注意的是,任何空值 (null) 都将被解释为对给定键的删除

KIP-524: Allow users to choose config source when describing configs

KIP-526: Reduce Producer Metadata Lookups for Large Number of Topics

KIP-527: Add VoidSerde to Serdes

KIP-530: Consider renaming 'UsePreviousTimeOnInvalidTimeStamp' class to 'UsePartitionTimeOnInvalidTimeStamp'

KIP-531: Drop support for Scala 2.11 in Kafka 2.5

KIP-535: Allow state stores to serve stale reads during rebalance

允许状态存储在重新平衡期间提供过时的数据

以前,在进行重新平衡期间,针对状态存储的交互式查询(IQ)将失败。这降低了依赖于查询 Kafka Streams 状态表功能的应用程序的正常运行时间。KIP-535 使应用程序能够查询状态存储的任何副本,并能够观察到每个副本落后千主副本多远

KIP-537: Increase default zookeeper session timeout

KIP-538: Add a metric tracking the number of open connections with a given SSL cipher type

KIP-541: Create a fetch.max.bytes configuration for the broker

KIP-543: Expand ConfigCommand's non-ZK functionality

KIP-553: Disable all SSL protocols except TLSV1.2 by default.

KIP-555: Deprecate Direct Zookeeper access in Kafka Administrative Tools (partial in 2.5)

KIP-558: Track the set of actively used topics by connectors in Kafka Connect

KIP-559: Make the Kafka Protocol Friendlier with L7 Proxies

KIP-562: Allow fetching a key from a single partition rather than iterating over all the stores on an instance