在我的 RabbitMQ 消费者中,我区分了两种错误:
- “生产者错误”:生产者没有遵守执行合同。示例:缺失的强制性数据、违反业务规则的数据组合、意外的内容类型
- “消费者错误”:消费者无法处理消息,尽管消息完全有效。示例:消费者代码中的错误、内存耗尽、与数据库的连接失败。
我需要将生产者错误路由回生产者。我需要将消费者错误路由到一个队列,消费者端代理(消费者本身、人类等)将重新处理失败的消息或手动检查它,而生产者不会意识到问题。
Q1:生产者错误和消费者错误之间的区别是否相关?
Q2:在队列的DLX配置中,DLX应该接收哪些消息:生产者错误还是消费者错误?我知道 DLQ 也会收到过期消息和无法路由的消息。
提前感谢您的建议。