producer level
bootstrap.servers kafka集群节点列表格式;host1:port1,host2:port2
key.serializer key序列化类型
value.serializer value序列化类型
acks producer需要等待leader响应数量 0不需要等待应答,1代表leader成功写入本地log但不等待follow,-1代表等待insync列表中的follow成功完成
buffer.memory 发送端的buffer大小,如果超出将block或者抛出异常 由block.on.buffer.full决定
compression.type 压缩类型
retries 发送失败重发次数
batch.size 批量发送大小
client.id 客户标识
connections.max.idle.ms 关闭连接空闲时间
linger.ms 异步发送时间间隔
max.block.ms 控制block的时长,当buffer空间不够或者metadata丢失时产生block
max.request.size 单一请求最大值,超出部分将不会接收。
partitioner.class partiton类
receive.buffer.bytes tcp 接收buffer用于读取数据
request.timeout.ms 请求超时,如果超时将重试,超过重试次数将抛异常
send.buffer.bytes tcp发送数据用于发送数据
timeout.ms 服务端等待follow应答的最长时间
block.on.buffer.full 当buffer满时,是否block不接受新请求,true将block,false将抛出异常
retry.backoff.ms 发送失败重连时间间隔
reconnect.backoff.ms consumer连接失败重连间隔
metadata.fetch.timeout.ms 首先发送数据到topic需要抓取metadata,metadata超时时间
metadata.max.age.ms metadata刷新时间
max.in.flight.requests.per.connection kafka可以在一个connection中发送多个请求,叫作一个flight,这样可以减少开销,但是如果产生错误,可能会造成数据的发送顺序改变,默认是5 (修改)
consumer level
fetch.min.bytes 服务端返回的最小数据大小,如果数据较小将等待或者超时返回。
group.id 唯一标识consumer goup
heartbeat.interval.ms consumer 向 coordinator发送心跳时间,该值必须小于session.timeout
max.partition.fetch.bytes 一个partiton可以获取的最大的数据量,不能大于服务允许的最大message值,如果发生将block partiton
session.timeout.ms consumer session过期时间
auto.offset.reset 当前consumer给出的offset不存在将执行的动作,earliest:设置offset到0 latest:设置offset到最后
anything else :抛出异常
connections.max.idle.ms connection最大空闲时间
enable.auto.commit 自动提交offset
retry.backoff.ms consumer抓取数据重试时间
reconnect.backoff.ms consumer重连时间
fetch.max.wait.ms 抓取最大等待时间,