与原生KafkaConsumer接口适配说明
原生KafkaConsumer | 类型 | DISKafkaConsumer | 说明 |
|---|---|---|---|
Set<TopicPartition> assignment() | 接口 | 支持 | 获取consumer消费的通道与分区信息 |
Set<String> subscription() | 接口 | 支持 | 获取consumer已订阅的通道名称 |
void assign(Collection<TopicPartition> var1) | 接口 | 支持 | 分配指定的分区 |
void subscribe(Collection<String> var1) | 接口 | 支持 | 订阅指定的通道 |
void subscribe(Collection<String> var1, ConsumerRebalanceListener var2) | 接口 | 支持 | 订阅指定的通道并支持ConsumerRebalanceListener回调 |
void subscribe(Pattern var1, ConsumerRebalanceListener var2) | 接口 | 支持 | 订阅所有匹配通配符的通道并支持ConsumerRebalanceListener回调 |
void unsubscribe() | 接口 | 支持 | 取消所有订阅 |
ConsumerRecords<K, V> poll(long var1) | 接口 | 支持 | 获取消息,但消息当中未实现 checksum(消息的CRC32校验值)、serializedKeySize(key序列化后的字节长度)、serializedValueSize(key序列化后的字节长度)。 |
void commitSync() | 接口 | 支持 | 同步提交当前消费的offset |
void commitSync(final Map<TopicPartition, OffsetAndMetadata> offsets) | 接口 | 支持 | 同步提交指定的offset |
void commitAsync() | 接口 | 支持 | 异步提交当前消费的offset |
public void commitAsync(OffsetCommitCallback callback) | 接口 | 支持 | 异步提交当前消费的offset并支持OffsetCommitCallback回调 |
void commitAsync(Map<TopicPartition, OffsetAndMetadata> offsets, OffsetCommitCallback callback) | 接口 | 支持 | 异步提交指定的offset并支持OffsetCommitCallback回调 |
void seek(TopicPartition partition, long offset) | 接口 | 支持 | 给分区设置指定的offset |
void seekToBeginning(Collection<TopicPartition> partitions) | 接口 | 支持 | 分区的offset设置为最旧的值 |
void seekToEnd(Collection<TopicPartition> partitions) | 接口 | 支持 | 分区的offset设置为最新的值 |
long position(TopicPartition partition) | 接口 | 支持 | 获取分区当前已消费数据的offset |
OffsetAndMetadata committed(TopicPartition partition) | 接口 | 支持 | 获取分区已提交的offset |
List<PartitionInfo> partitionsFor(String topic) | 接口 | 支持 | 获取通道的分区信息,但PartitionInfo里面的leader, replicas, inSyncReplicas未实现。 |
Map<String, List<PartitionInfo>> listTopics() | 接口 | 支持 | 获取所有的通道信息,但PartitionInfo里面的leader, replicas, inSyncReplicas未实现。 |
void pause(Collection<TopicPartition> partitions) | 接口 | 支持 | 暂停消费分区 |
void resume(Collection<TopicPartition> partitions) | 接口 | 支持 | 恢复消费分区 |
Set<TopicPartition> paused() | 接口 | 支持 | 获取所有已暂停消费的分区 |
close() | 接口 | 支持 | 关闭consumer |
Map<MetricName, ? extends Metric> metrics() | 接口 | 不支持 | 获取统计信息 |
wakeup() | 接口 | 不支持 | 内部实现原理不一样,不需要。 |
group.id | 参数 | 支持 | 消费组ID |
client.id | 参数 | 支持 | 每个consumer的client.id必须唯一,如果不配置client.id, dis kafka consumer会生成一个uuid作为client.id。 |
key.deserializer | 参数 | 支持 | 含义与kafka设置相同,但默认值为StringDeserializer(kafka必须配置)。 |
value.deserializer | 参数 | 支持 | 含义与kafka设置相同,但默认值为StringDeserializer(kafka必须配置)。 |
enable.auto.commit | 参数 | 支持 | 同kafka的默认设置,默认为true
|
auto.commit.interval.ms | 参数 | 支持 | 自动提交offset的周期(毫秒),默认值5000。 |
auto.offset.reset | 参数 | 支持 | 同Kafka的默认配置,默认为latest。 此值用于没有初始偏移量或者偏移量不正确的情况下,自动设置offset位置:
|
其他参数 | 参数 | 不支持 | - |

