RabbitMQ 延迟消息的队头阻塞问题是指,在使用死信队列(DLX)和 TTL(消息过期时间)实现延迟消息时,由于队列的先进先出(FIFO)特性,在队列头部消息未过期的情况下,即使后续消息已经过期也不能及时处理的情况。 实现原理 RabbitMQ 延迟消息的实现方式有以下两种: 死信队列+TTL。 使用 rabbitmq-delayed-message-exchange 插件。 而我们本文要讨论的“RabbitMQ 延迟消息的队头阻塞问题”只会发生在死信队列+TTL 的实现方式中。 死信队列 + TTL 的实现流程如下: 生产者先将设置了 TTL(过期时间)的消息发送到普通队列。 普...