Kafka 1.0版本发布

1.0.0

2017年11月1日发布

源码下载:

kafka-1.0.0-src.tgz(asc,sha512)

二进制下载:

Scala 2.11 - kafka_2.11-1.0.0.tgz(asc,sha512)
Scala 2.12 - kafka_2.12-1.0.0.tgz(asc,sha512)

我们为多个版本的Scala构建。这只在你使用Scala的时候很重要,你需要为你使用的同一个Scala版本构建一个版本。否则任何版本应该工作(建议2.11)。

Kafka 1.0.0不仅仅是版本号的颠簸。
Apache Kafka项目管理委员会在发布中包含了许多有价值的增强功能。以下是其中的一些摘要

自从0.10版本推出以来,Streams API已经在包括Pinterest,Rabobank,Zalando和The New York Times在内的Kafka用户中广受欢迎。在1.0中,API继续健康地发展。首先,构建器API已经得到改进(KIP-120)。已经添加了一个新的API来显示运行时活动任务的状态(KIP-130)。新的cogroup API使用代码更少的StateStores和更少的运动部件(KIP-150)来处理分区聚合更容易。通过增强print()和writeAsText()方法(KIP-160),可调试性变得更加容易。如果这还不够,请查看KIP-138和KIP-161。有关更多流,请查看Apache Kafka Streams 文档,包括一些有用的新教程视频。

大规模运营Kafka需要系统保持可观察性,为了使这一点更容易,我们对指标进行了一些改进。这些太多了,没有变得乏味,但连接指标已经显着改善(KIP-196),一些新的健康检查指标现在暴露(KIP-188),我们现在有一个全球主题和分区计数KIP-168)。查看更多KIP-164和KIP-187。

我们现在支持Java 9,其中包括大幅提高TLS和CRC32C实现速度。现在线上加密的速度会更快,当启用加密时,这将保持Kafka的快速,并降低计算成本。

为了与安全主题保持一致,KIP-152清除了简单认证安全层(SASL)认证尝试中的错误处理。以前,一些认证错误条件与代理失败是无法区分的,并且没有以明确的方式登录。现在这个更干净了。

Kafka现在可以更好地容忍磁盘故障。从历史上看,JBOD存储配置尚未被推荐,但架构仍然是诱人的:毕竟,为什么不依靠卡夫卡自己的复制机制来防止存储故障,而不是使用RAID?使用KIP-112,Kafka现在更优雅地处理磁盘故障。JBOD代理中的单个磁盘故障不会导致整个代理停机; 相反,代理将继续提供正在运行的磁盘上的任何日志文件。

从版本0.11.0开始,幂等生产者(在生产中使用的生产者,当然是我们用来处理的生产者)要求max.in.flight.requests.per.connection是等于一个。任何已经编写或测试过有线协议的人都可以证明,这就提高了吞吐量。由于KAFKA-5949,现在可以达到五个,放宽了吞吐量的限制。

05-01 05:18