12.4.2.6. 从失败中恢复,以避免数据丢失
使用 session.timeout.ms
和 heartbeat.interval.ms
属性配置时间,以检查并从消费者组中的消费者故障中恢复。
session.timeout.ms
属性指定使用者组中用户的最大时间(毫秒)可以不与代理联系,然后才能被视为不活动,并在组中的活动消费者之间触发 重新平衡。当组重新平衡时,这些分区将重新分配给组的成员。
heartbeat.interval.m
s 属性指定 心跳 互相检查之间的间隔,以毫秒为单位表示消费者活跃并连接。heartbeat 间隔必须小于会话超时间隔,通常为第三个。
如果您将 session.timeout.ms
属性设置为 less,则之前检测到失败消费者,并且重新平衡可以更快地进行。但是,请不要设置超时时间,以便代理无法及时收到心跳,并触发不必要的重新平衡。
减少心跳间隔降低了意外重新平衡的可能性,但更频繁的心跳会增加对代理资源的开销。