在使用来自KAFKA经纪人的消息时,如果失败了,该如何处理错误?

时间:2019-12-09 13:11:26

标签: java apache-kafka spring-kafka

在使用来自KAFKA经纪人的消息时,如果发生故障,我需要处理错误,我必须处理每条消息,并且在发生故障的情况下(处理消息失败,它可能会在我调用其他端点或其他依赖项时发生,所以我的服务失败了,“业务失败”,而不是Kafka经纪人失败了,或者我的消费者失败了,……)我必须再次处理该消息,但是不能立即处理,因为同一条消息可能再次失败。作为解决方案,我可以将失败的消息存储在数据库中,并创建一个每2小时运行一次的批处理来处理失败的消息,如果某些消息在批处理中多次失败,我将手动对其进行管理。

但是,当我从KAFKA经纪人处读取消息时,是否有一种方法可以使用Kafka进行类似的解决方案而无需执行批处理?

  1. 应将消息标记为错误并至少2小时后进行处理,否则它将继续失败
  2. 如果消息失败10次,请停止处理并将其标记为手动处理

0 个答案:

没有答案