KStreams - org.apache.kafka.common.errors.TimeoutException:60000 毫秒的超时在成功提交偏移量之前已过期

KStreams - org.apache.kafka.common.errors.TimeoutException: Timeout of 60000ms expired before successfully committing offsets

在 kafka Streams(版本:2.3.1)上,我们面临提交偏移量的问题:

org.apache.kafka.common.errors.TimeoutException: Timeout of 60000ms expired before successfully committing offsets

这不是经常发生的。可能是什么原因?

此外,由于 TimeoutException 是一个可重试的异常,我们计划在出现​​间歇性错误时增加重试次数。

无论如何它会有帮助吗?我们的用例中有 ATLEAST_ONCE 处理保证和订购事宜。

我们希望它不会以任何方式影响偏移量顺序,因为 KStreams 同步提交偏移量,如果一次提交失败并正在重试,特定的流线程将不会处理新记录并且偏移量不会受到干扰.

如果 TimeoutException 是暂时的,则可能是由于间歇性网络问题或某些代理过载造成的,在这种情况下,增加重试次数可能会有所帮助。

然而,就延迟而言,发现超时的根本原因可能会更好。为了找到根本原因,您可能需要更多地研究指标。这是一个可以帮助您入门的博客 https://sematext.com/blog/kafka-metrics-to-monitor/

通过为瓶颈提供更多资源可能可以解决此问题。