我有一个 rabbitmq 代理和一个具有以下设置的消费者
Broker
Queues
1. alive-Q (message-ttl: 1000 * 60 * 15, dead-letter-queue: dead-Q, dead-letter-routing-key: dead-Q)
2. dead-Q
Exchanges
1. test-X
Producer/Consumer
1. publishes some messages to alive-Q to be consumed after 15 mins
2. channel.consume attached to dead-Q without acknowledgment.
因此,当消息从alive-Q 发出死信时,它会移动到dead-Q 并立即被消费者通过通道消费。
问题是 alive-Q
上的所有消息都会同时过期,并且在移动到 dead-Q
时,大约 50% 的消息会丢失。
已尝试设置消息级别过期时间和时间戳,但遇到了同样的问题。
感谢任何见解。