0.10.0
kafka streaming
replica 机架感知
message增加timestamp
增加kafka connect rest api
增加max.poll.records参数
兼容不同版 本协议
producer与consumer增加interceptor功能
增加exclude.internal.topics参数
0.10.1
增加基于timestamp的搜索api
避免replica迁移时对整个集群的稳定造成影响从而增加replica配额参数
改善compact log,增加基于timestamp精简,并且topic可以同时支持compact/delete
streaming 增加交互式查询接口
随着consumer增加后端心跳线程与最大消费数据的控制来避免内存风险的功能,将原有consumer 的beat版改为稳定版
kafka streaming加入output cache,针对更新操作,可以在cache中完成从而减少下游系统的负载
基于安全principle的配额
0.10.2
支持session window
ProcessorContext访问低层metrics
kafka stream加入全局table
0.11
在connect中支持每个task,connector使用单独cloassloader
加入recored headers
AdminClient增加purgeDataBefore方法
加入KStream.peek(ForeachAction)方法
stream加入精确一次语义
加入重置group offset工具
支持事务
1.0.0
对接受的请求对内存的消耗设置限制
将活动任务的状态暴露公共API
添加UnderMinIsrPartitionCount和每个分区UnderMinIsr指标
为所有Kafka费率指标添加累计计数属性
添加新的指标以支持运行状况检查
1.1.0
自动迁移log.dir,增加log.dir会自动写数据到目录,不会丢失数据
adminClient加入deleteRecords方法,可以删除指定offset之前的数据
consumer rest 工具支持删除offset
Consumer.endOffsets()获得最后的offset
ProducerConfig/ConsumerConfig构造函数为public
修复不同版本message formate转换OOM问题
修复unclean shutdown,删除log segment,删除topic造成broker不能启动问题
2.0
offsets.retention.minutes默认值修改为7天,与 log.retention.day一样
max.connections.per.ip minimum可以设置0,可以根据ip来限制连接
metrics加version标记
kafka.network:type=RequestMetrics,name=RequestsPerSec,request={Produce|FetchConsumer|FetchFollower|...},version={0|1|2|3|...}
"records.lag" metrics支持partition级别
0.11.0.0版scala consumer/producer已经deprecated,1.1.0后将恢复支持
MirrorMaker and ConsoleConsumer 不再使用scala consumer
ConsoleProducer不再使用scala producer
与scala client相关工具不持持ReplayLogProducer, SimpleConsumerPerformance, SimpleConsumerShell, ExportZkOffsets, ImportZkOffsets, UpdateOffsetsInZK, VerifyConsumerRebalance.
kafka.tools.ProducerPerformance不支持, 请使用org.apache.kafka.tools.ProducerPerformance.
kafka streaming新参数upgrade.from
Kafka Streams repartition topics的保留时间设置为Long.MAX_VALUE
更新 kafka streaming ProcessorStateManager API
kafka connect 去除internal.key.converter
and internal.value.converter属性
加入 default.api.timeout.ms参数,使得partitionsFor
, listTopics
, offsetsForTimes
, beginningOffsets
, endOffsets,
close不用无限阻塞
废除consumer.poll(time:Long) 加入 poll(Duration)
该方法最大变化是原有方法在获得metadata时,如果broker 异常会一直阻塞,新方法会超时并返回空消息
request.timeout.ms改为30秒
去除kafka.admin.AdminClient.deleteRecordsBefore
到org.apache.kafka.clients.admin.AdminClient.deleteRecords
.
consumer相关工具去除--new-consumer
ACL支持正则foo.*
down-conversion减少OOM风险
topic与partition支持message.downconversion.enable
and log.message.downconversion.enable参数
动态broker配置
支持如下
SSL keystore
ssl.keystore.type
ssl.keystore.location
ssl.keystore.password
ssl.key.password
Thread
num.network.threads
num.io.threads
num.replica.fetchers
num.recovery.threads.per.data.dir
background.threads
metrics
metric.reporters
log clean
og.cleaner.threads
log.cleaner.io.max.bytes.per.second
log.cleaner.dedupe.buffer.size
log.cleaner.io.buffer.size
log.cleaner.io.buffer.load.factor
log.cleaner.backoff.ms
topic config
log.segment.bytes (segment.bytes)
log.roll.ms, log.roll.hours (segment.ms)
log.roll.jitter.ms, log.roll.jitter.hours (segment.jitter.ms)
log.index.size.max.bytes (segment.index.bytes)
log.flush.interval.messages (flush.messages)
log.flush.interval.ms (flush.ms)
log.retention.bytes (retention.bytes)
log.retention.ms, log.retention.minutes, log.retention.hours (retention.ms)
log.index.interval.bytes (index.interval.bytes)
log.cleaner.delete.retention.ms (delete.retention.ms)
log.cleaner.min.compaction.lag.ms (min.compaction.lag.ms)
log.cleaner.min.cleanable.ratio (min.cleanable.dirty.ratio)
log.cleanup.policy (cleanup.policy)
log.segment.delete.delay.ms (file.delete.delay.ms)
unclean.leader.election.enable (unclean.leader.election.enable)
min.insync.replicas (min.insync.replicas)
max.message.bytes (max.message.bytes)
compression.type (compression.type)
log.preallocate (preallocate)
log.message.timestamp.type (message.timestamp.type)
log.message.timestamp.difference.max.ms (message.timestamp.difference.max.ms)