如何避免reblance
reblance是什么?
什么时候会发生rebalnce?
如何尽量避免这些情况?
若不可避免的要发生reblance?怎么尽量减少影响?
reblance是什么?
Reblance是Kafka协调者把partition分配给Consumer-group下每个consumer实例的过程
什么时候会发生rebalnce?
通常在以下情况,会出发Reblance:
组订阅topic数变更
topic partition数变更
consumer成员变更
consumer 加入群组或者离开群组的时候
consumer被检测为崩溃的时候
如何尽量避免这些情况?
1.组订阅topic数变更
不要用同一个group消费多个topic
2.topic partition数变更
略
3.consumer成员变更
尽量避免group内的成员变更
4.consumer 加入群组或者离开群组
尽量避免group内的成员增加或减少
5.consumer被检测为崩溃
1>设置session.timeout.ms >= 3 * heartbeat.interval.ms
2>设置max.poll.interval.ms比下游处理时间长
若不可避免的要发生reblance?怎么尽量减少影响?
合理设置消费者的 session.timeout.ms 参数以减少reblance持续的时间。