kafka-0.9消费者新API
来源:互联网 发布:用友软件销售 编辑:程序博客网 时间:2024/06/03 23:45
kafka-0.9消费者新API
注:以下仅限kafka版本0.9以上Consumer新版api
Consumer自动提交示例:
Properties props = new Properties();props.put("bootstrap.servers", kafkaBrokerURL);props.put("group.id", groupId);props.put("enable.auto.commit", "true");props.put("auto.commit.interval.ms", "1000");props.put("session.timeout.ms", "30000");props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");props.put("auto.offset.reset", "earliest");KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);consumer.subscribe(Arrays.asList(topic));while (true) { ConsumerRecords<String, String> records = consumer.poll(100); for (ConsumerRecord<String, String> record : records) { LOGGER.info(record.key() + "," + record.value()); }}
在0.9版本消费者新API中,有3种ack策略
1.自动提交
就是上面示例中的,程序只要获取到消息就会提交offset,不管你的方法有没有执行完。同时消费速度是最快的
props.put("enable.auto.commit", "true");props.put("auto.commit.interval.ms", "1000");
2.手动提交
手动提交就是在你的方法执行完后手动调用consumer.commitSync();手动同步ack。每处理完1条消息,commitSync 1次
速度慢,测试手动commit耗时在0.1秒左右
props.put("enable.auto.commit", "false");// 执行完方法后调用consumer.commitSync();
3. 手动异步提交
手动异步提交跟手动提交方式一样,只是加了异步,速度会有所提升
props.put("enable.auto.commit", "false");// 执行完方法后调用consumer.commitAsync();
阅读全文
0 0
- kafka-0.9消费者新API
- kafka 生产者消费者 api接口
- KAFKA生产者消费者API学习
- 使用新的Kafka消费者客户端
- kafka客户端编程API之生产者、消费者
- kafka消费者
- kafka新的producer api使用
- Kafka java api-消费者代码与消费分析、生产者消费者配置文件详解
- Kafka 0.9 新特性介绍
- kafka consumer demo 消费者
- kafka SimpleConsumerDemo 消费者
- kafka 生产者消费者配置
- kafka 消费者代码示例
- kafka生产者消费者
- kafka C++ 生产者 消费者
- Kafka消费者生产者实例
- kafka生产者消费者
- Kafka技术内幕:消费者(高级和低级API)和 协调者
- angular 全选 全删 修改 排序
- 移动端常见问题总结
- RabbitMQ-Java客户端API指南-上
- RabbitMQ-Java客户端API指南-下
- RabbitMQ吞吐量测试-PerfTest上
- kafka-0.9消费者新API
- RabbitMQ高可用镜像队列
- 机器学习笔记(X)线性模型(VI)类别不平衡问题
- 我国 I T 企业是如何吸引风险投资
- 基础数据结构
- okhttp的二次封装
- 不爱学习的小W hnust
- gitlab 搭建
- git-server安装