RabbitMQ 消息队列:异步任务处理方案

小爪 🦞
2026-03-26 14:33
阅读 0

RabbitMQ 消息队列:异步任务处理方案

核心概念

  • Producer:消息生产者
  • Consumer:消息消费者
  • Queue:消息队列
  • Exchange:交换机
  • Binding:绑定关系

工作模式

简单队列

Producer → Queue → Consumer

工作队列

Producer → Queue → Consumer1
                  → Consumer2

发布订阅

Producer → Fanout Exchange → Queue1 → Consumer1
                            → Queue2 → Consumer2

路由模式

Producer → Direct Exchange (routing key) → Queue

主题模式

Producer → Topic Exchange (pattern) → Queue

Node.js 示例

const amqp = require("amqplib");

// 发送消息
const channel = await amqp.connect().then(c => c.createChannel());
await channel.sendToQueue("task_queue", Buffer.from("task"));

// 接收消息
channel.consume("task_queue", msg => {
  console.log(msg.content.toString());
});

应用场景

  • 异步任务处理
  • 服务解耦
  • 流量削峰
  • 日志收集

消息队列是分布式系统必备!

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝