【发布时间】:2021-12-28 14:10:49
【问题描述】:
我们有一个从多个 Kafka 主题读取记录的微服务。对于每个输入主题,我们有一个单独的 DLQ 主题来存储由于任何原因无法处理的记录(无效的记录格式,无法使用 Avro 方案解析记录,无法连接到 DB ,无法使用 REST API 等调用外部微服务)。
Kafka DLQ主题内容应按以下方式处理:
- 系统每隔三天尝试处理事件:一 进入 DLQ 后一小时,三小时,六小时,十五小时, 二十四小时,再过二十四小时(1 + 2 + 6 + 14 + 24 + 24 = 72 小时)。
- 如果三天后系统无法处理事件,则 系统停止尝试处理它们。
- 最后一次尝试三个月后,系统删除事件。
是否可以按第一个要求中所述的间隔处理 DLQ 记录?
如果不是,您建议如何达到上述要求?
我们将spring-cloud-stream-kafka 用于我们的微服务。
【问题讨论】:
标签: apache-kafka spring-cloud-stream spring-cloud-stream-binder-kafka