标签: #消息队列

基于特性标注 + 泛型驱动的 RabbitMQ 客户端封装实战:把消息发送变成一行代码

生产项目里接入 RabbitMQ 最烦的是每次发消息前都要写一长串 ExchangeDeclare + QueueDeclare + QueueBind 模板代码。本文从 SwitchData 项目源码中拆解一套声明式封装:用 [RabbitMqQueue] 特性标注消息模型类,用 ConcurrentDictionary 做拓扑缓存和反射缓存,用 SemaphoreSlim 做异步锁延迟创建单例连接,用泛型 SendMessageAsync<T> 让调用方只需要传消息对象本身。附带死信队列自动声明、延迟消息插件支持、手动 ACK/NACK 异常兜底、AutomaticRecoveryEnabled 自动重连等生产级能力,整个客户端不到 400 行却把 RabbitMQ.Client 裸 API 包装成了'一行代码发消息'的干净调用。

RabbitMQ高级特性详解

深入 RabbitMQ 生产级特性:消息持久化与投递确认(Publisher Confirm/Consumer ACK)、死信队列(DLX)、延迟队列、优先级队列、惰性队列,保障消息不丢与业务可靠。

RabbitMQ六种队列模式

逐一解析 RabbitMQ 的六种经典通信模式:简单队列、Work Queues、Publish/Subscribe(Fanout)、Routing(Direct)、Topics、Headers、RPC,配合 Exchange 路由键与绑定关系图,快速掌握选型。

消息队列入门:概念与场景

从生产者-消费者模型出发,介绍消息队列(MQ)的三大核心价值:异步解耦、流量削峰、日志与通知,结合订单、秒杀、短信等真实场景说明何时应该引入 MQ。