Apache kafka 当消息处理失败时,消费者能否将消息放回同一主题?

Apache kafka 当消息处理失败时,消费者能否将消息放回同一主题?,apache-kafka,Apache Kafka,假设我的一个程序使用来自卡夫卡主题的消息。在消息处理过程中,使用者访问一些数据库。由于xyz原因,其数据库访问失败。但我们不必放弃这个信息。我们需要将消息寄存以供以后处理。在JMS中,当消息处理失败时,应用程序容器将消息放回队列。它没有丢失。在卡夫卡,一旦收到偏移量增加,下一条信息就会出现。如何处理这个问题?有两种方法可以实现这一点 将Kafka确认模式设置为手动,如果出现错误,则终止消费者线程而不提交偏移量(如果启用了组管理,则在触发重新平衡和轮询同一批后将添加新消费者) 第二种方法很简单,只

假设我的一个程序使用来自卡夫卡主题的消息。在消息处理过程中,使用者访问一些数据库。由于xyz原因,其数据库访问失败。但我们不必放弃这个信息。我们需要将消息寄存以供以后处理。在JMS中,当消息处理失败时,应用程序容器将消息放回队列。它没有丢失。在卡夫卡,一旦收到偏移量增加,下一条信息就会出现。如何处理这个问题?

有两种方法可以实现这一点

  • 将Kafka确认模式设置为
    手动
    ,如果出现错误,则终止消费者线程而不提交偏移量(如果启用了组管理,则在触发重新平衡和轮询同一批后将添加新消费者)

  • 第二种方法很简单,只要有一个错误主题,并在出现任何错误时将消息发布到错误主题,这样以后您就可以使用它们或跟踪它们


  • 有两种方法可以实现这一点

  • 将Kafka确认模式设置为
    手动
    ,如果出现错误,则终止消费者线程而不提交偏移量(如果启用了组管理,则在触发重新平衡和轮询同一批后将添加新消费者)

  • 第二种方法很简单,只要有一个错误主题,并在出现任何错误时将消息发布到错误主题,这样以后您就可以使用它们或跟踪它们