RabbitMQ _ resources
[.Net 6] RabbitMQ入门看这篇就够了 - Mamba24⁸ - 博客园 (cnblogs.com)
(165条消息) RabbitMQ的ack和nack机制_rabbitmq ack和nack_遇见更好的自己、的博客-CSDN博客
(165条消息) RabbitMQ死信队列_半桶水的码农的博客-CSDN博客
“死信”是RabbitMQ中的一种消息机制,当你在消费消息时,如果队列里的消息出现以下情况:
消息被否定确认,使用 channel.basicNack 或 channel.basicReject ,并且此时requeue 属性被设置为false。
消息在队列的存活时间超过设置的生存时间(TTL)时间。
消息队列的消息数量已经超过最大队列长度。
总结一下死信消息的生命周期:
业务消息被投入业务队列
消费者消费业务队列的消息,由于处理过程中发生异常,于是进行了nck或者reject操作
被nck或reject的消息由RabbitMQ投递到死信交换机中
死信交换机将消息投入相应的死信队列
死信队列的消费者消费死信消息
死信消息是RabbitMQ为我们做的一层保证,其实我们也可以不使用死信队列,而是在消息消费异常时,将消息主动投递到另一个交换机中,当你明白了这些之后,这些Exchange和Queue想怎样配合就能怎么配合。比如从死信队列拉取消息,然后发送邮件、
短信、钉钉通知来通知开发人员关注。或者将消息重新投递到一个队列然后设置过期时间,来进行延时消费。
https://www.rabbitmq.com/dotnet-api-guide.html
https://www.rabbitmq.com/getstarted.html
RabbitMQ .NET Client
https://www.rabbitmq.com/dotnet.html