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:portKIP-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