首页 > 解决方案 > 使用 Kafka binder 重播 Spring Cloud Stream 中的死信队列中的消息

问题描述

我们将Spring Cloud StreamConfluent Schema RegistryAvroKafka binder 一起使用。我们已将数据处理管道中的所有服务配置为使用共享的 DLQ Kafka 主题,以简化异常处理过程并能够重播失败的消息。但是,由于某种原因,我们似乎无法正确提取有效负载消息,因为具有不同模式的消息被发布到单个 dlq。因此,我们正在丢失原始消息的模式轨迹。

我想知道是否有任何方法可以schema_id在 dlq 中保留失败消息的原始内容,以便将其用于无缝重播。

标签: avrospring-kafkaspring-cloud-streamconfluent-schema-registry

解决方案


事实证明,通过将主题命名策略更改为 RecordNameStrategy 可以实现这一点,并且无论主题名称如何,一条记录都会维护所有主题的原始模式。更多细节可以在这里找到。


推荐阅读