生产者

1、request.required.acks (-1)

producer接收消息ack的时机,0:producer不会等待broker发送ack;1:当leader接收到消息之后发送ack;-1:当所有的follower都同步消息成功后发送ack;

2、request.timeout.ms (10000)

在向producer发送ack之前,broker允许等待的最大时间。如果超时,broker将会向producer发送一个error ack。意味着上一次消息因为某种原因未能成功(比如follower未能同步成功)

3、message.send.max.retries(3)

当producer接收到error ack,或者没有接收到ack时,允许消息重发的次数。

消费者

partition.rebalance.type (30s gap)

partiton重新分配时挂起的时间,默认30s(2.2.26及以上客户端版本支持。场景:服务重新上线时,partition会进行重新分配,为防止重复消费,partition会被挂起30s,会照成短暂消息积压,如果不关系重复消费,比较关心积压,可设置no gap)

08-05 23:40