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