config | version | default | intro |
---|---|---|---|
heartbeat.interval.ms | 0.10.0.x | 3000 | 在 session.timeout.ms 时间内需要接受到异常 heartbeat, 必须小于 session.timeout.ms ,最好不大于1/3只有在 poll() 时才会发送 heartbeat |
0.11.0.x | 3000 | 在 session.timeout.ms 时间内需要接受到异常 heartbeat, 必须小于 session.timeout.ms ,最好不大于1/3心跳独立线程发送 | |
session.timeout.ms | 0.10.0.x | 30000 | 由于只有在 poll() 时才会发送 heartbeat 所有要在 session.timeout.ms 发送前完成,心跳发送,session.timeout.ms 需要大于 poll() 的间隔时间,所以在一定程度上限制了 poll() 的间隔时间 |
0.11.0.x | 10000 | 由于心跳是独立线程发送,所以session.timeout.ms 不在限制到 poll() 的时间,只需要大于 heartbeat.interval.ms 即可 | |
max.poll.interval.ms | 0.10.0.x | 没有该参数,在一定程度上与 session.timeout.ms 混用 | |
0.11.0.x | 300000 | poll() 的间隔时间 | |
max.poll.records | 0.10.0.x | 2147483647 | 一次性拉去的最大消息数量 |
0.11.0.x | 500 | 一次性拉去的最大消息数量 |
由参数可以得到,消费过程对于 rebalance
的影响
0.10.0.x:
session.timeout.ms
的时候,会发生 rebalance ,后续的 commit 也会失败max.poll.records
参数,默认为 2147483647,可以适当降低到系统接受范围内0.11.0.x:
max.poll.interval.ms
的时候,会发生 rebalance ,后续的 commit 也会失败max.poll.records
的默认值为 500,也可以适当降低kafka的监听可以使用通配符的形式,即:topic_*,当新加入一个符合格式的 topic 会加入监听内容,这时候会发生 rebalance
消费者的上下线,也会带来 rebalance
本文作者:Yui_HTT
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!