合流kafka python生产者和消费者中的错误

c0vxltue  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(424)

我想知道对导致调用错误的evens的正确React是什么。
最初,我们的代码总是抛出一个来自错误\u cb的异常,而不管发生什么。我们在kubernetes运行我们的东西,所以重新启动消费者/生产者(技术上)不是什么大事。但是重新启动的次数非常多,因此我们添加了几个异常,我们只记录这些异常而不退出:
kafkaerror.\u msg\u超时\u(消费者和生产者)
Kafka罗尔运输公司(消费者)
这些是我们经常看到的,融合的kafka python似乎能够在没有任何额外帮助的情况下从中恢复过来。
现在我想知道我们是否正确地在error\u cb中抛出任何异常。我们是否应该开始将error\u cb当作一个日志函数,只对poll和flush显式抛出的异常作出React?

bakd9h0s

bakd9h0s1#

librdkafka将尽最大努力从它遇到的任何错误中自动恢复,因此 error_cb 大部分是信息性的,应用程序通常不建议在出现这种错误时做任何激烈的操作。 _MSG_TIMED_OUT 以及 _TIMED_OUT -Kafka协议请求超时,通常是由于网络或代理问题。请求将根据重试配置重试,或者相应的api/功能将传播更详细的错误(例如,提交偏移失败)。可以安全地忽略此错误。 _TRANSPORT -代理连接中断或无法建立,这也是一个临时网络或代理问题,可以安全地忽略。

相关问题