4.6. 恢复失败以避免数据丢失
使用 session.timeout.ms 和 heartbeat.interval.ms 属性配置检查和恢复消费者组中的消费者故障所需的时间。
session.timeout.ms 属性指定消费者组中消费者在被视为不活跃前与代理联系的最长时间(以毫秒为单位),并在组中活跃的消费者之间触发 重新平衡。当组重新平衡时,分区会被重新分配给组的成员。
heartbeat.interval.ms 属性指定 心跳 检查消费者组协调器之间的间隔(毫秒),以指示消费者处于活动状态并连接。心跳间隔必须较低(通常以第三个方式表示),而不是会话超时间隔。
如果您设置 session.timeout.ms 属性,则之前检测到失败的消费者,并且重新平衡可以更快地进行。但是,要小心不要设置超时,因此代理无法及时收到心跳,并触发不必要的重新平衡。
减少心跳间隔可减少意外重新平衡的机会,但更频繁的心跳会增加代理资源的开销。