美文网首页
kafka生产者消费者java客户端操作

kafka生产者消费者java客户端操作

作者: 联想桥南 | 来源:发表于2017-09-22 20:57 被阅读0次
pom依赖

kafka 客户端版本有兼容问题,参考

生产者代码:

生产者客户端代码

ack最主要的参数:-1相当于all,表示等待follower回应再继续发消息。保证了ISR列表里至少有一个replica,数据就不会丢失,最高的保证级别。0表示纯异步,不等待,写进socket buffer就继续。1表示leader写进本地log,就返回,不等待follower的回应。

batch.size 每次发送的消息的字节数,批量发送,减少请求,能提升生产者和broker的效率。一个批次请求的数据发往同一个partition。代价是消费内存。

linger.ms 配合batch.size使用,比如batch.size设置很大时,当消息没有到达批量字节设置值时,时间超过linger.ms直接触发,发送。可减少某些情况下的消息发送延迟。

buffer.memory producer可以用来缓存数据的内存大小。

参数详情细节可直接看源码文件ProducerConfig


消费者代码:

消费者代码例子

例子只有是consume group下一个消费者,后续会单独研究分析下,多消费者分配消费多partion的设计。参数说明:

group.id 消费者所在的消费组,必须指定的参数。kafka设计不符合jms规范,但是他使用consume group的概念实现发布订阅功能。此参数在服务端配置文件consume.property�也可配置

enable.auto.commit 是否自动提交消费唯一offset,自动提交的话

相关文章

网友评论

      本文标题:kafka生产者消费者java客户端操作

      本文链接:https://www.haomeiwen.com/subject/nvxcsxtx.html