Kafka0.10.0版本信息


发布于 2016-04-30 / 44 阅读 / 0 评论 /
Kafka0.10.0版本内容和发布时间

Kafka0.10.0发布信息可参考https://cwiki.apache.org/confluence/display/KAFKA/Release+Plan+0.10.0

1.发布时间

Feature Freeze时间:2016年3月21日

Code Freeze时间:2016年3月22日

Release时间:2016年4月26日

2.版本需求

Kafka0.10.0版本对以下18个特性进行了开发。

KIP-28:Kafka Streams

KIP-31:Relative offsets in compressed messages

KIP-32:Add timestamps to messages

Message中加入Timestamp

在Message中加入了Timestamp,如果没有被用户声明,该字段会被自动设为被发送的时间。这使得Kafka Streams实现了基于时间事件的流处理,你也可以使用Timestamp来实现消息的追踪查找。除次之外Message中还加入了checksum(但并不是保存在Kafka中,只是取出来之后计算),可以以比较小的代价比对Message。

KIP-36:Rack awareness

机架感知

和Hadoop一样,Kafka现在也实现了机架感知。如果所有备份都在单个机架上,那么一旦这个机架出问题,那么所有的备份都将失效。现在Kafka会让备份分布在不同的机架上,显著的提高了可用性。

KIP-41:KafkaConsumer max records

KIP-42:Client interceptors

KIP-45:Standardize client sequences

KIP-51:List Connectors REST API

KIP-4:Admin API

KIP-35:Protocol version improvements

协议版本改进

Kafka brokers支持返回所有支持的协议版本的请求API,这个特点的好处就是以后将允许一个客户端支持多个broker版本。在Kafka 0.10.2.0之前,Kafka服务器端和客户端版本之间的兼容性是“单向”的,即高版本的broker可以处理低版本client的请求。反过来,低版本的broker不能处理高版本client的请求。

可以运行命令先查看当前broker支持的协议版本,然后再选择broker支持的最高版本封装请求即可。命令格式如下(在client端运行该命令):

bin/kafka-broker-api-versions.sh --bootstrap-server broker_ip:port

KIP-43:SASL improvements

Apache Kafka 0.9.0.0版本引入了新的安全特性,包括通过SASL支持Kerberos。

Apache Kafka 0.10.0.0现在支持更多的SASL特性,包括外部授权服务器,在一台服务器上支持多种类型的SASL认证以及其他的改进。

KIP-52:Connector Control API

KIP-56:Allow cross origin HTTP requests on all HTTP methods

KIP-57:Interoperable LZ4 Framing

KIP-33:Time-based index

KIP-47:Timestamp-based deletion policy

KIP-49:Fair Partition Assignment policy

KIP-50:Improve Authz interface