发布于2026-07-05 阅读(0)
扫一扫,手机访问
在 Debian 上折腾消息队列,Node.js 是个很顺手的搭档。具体选哪个消息队列系统,RabbitMQ、Redis、Kafka 各有各的适用场景。这里以 RabbitMQ 为例,把从安装到跑通一个简单收发流程的完整步骤拆开讲清楚。

先把包列表更新到最新,然后直接安装 RabbitMQ 服务器,一气呵成。
sudo apt update
sudo apt install rabbitmq-server
装好后启动服务,顺便把管理插件也开起来——这样就能通过浏览器直观地查看队列状态,排查问题时特别方便。
sudo systemctl start rabbitmq-server
sudo rabbitmq-plugins enable rabbitmq_management
管理界面默认监听在 http://your_server_ip:15672,用默认账号 guest/guest 登录即可。
如果机器上还没装 Node.js 环境,用下面这条命令一步到位:
sudo apt update
sudo apt install nodejs npm
新建一个项目目录,初始化 package.json,然后装上 RabbitMQ 的官方 Node.js 客户端库 amqplib:
mkdir my-rabbitmq-project
cd my-rabbitmq-project
npm init -y
npm install amqplib
到这里,环境准备工作就全部就绪了。接下来写代码才是重头戏。
创建一个 index.js 文件,先把 RabbitMQ 的连接建好,声明一个叫 hello 的队列,然后往里面塞一条消息。注意这里用了 durable: false,表示队列不持久化——开发阶段图省事,生产环境记得按需调整。
const amqp = require('amqplib');
async function main() {
try {
const connection = await amqp.connect('amqp://localhost');
const channel = await connection.createChannel();
const queue = 'hello';
await channel.assertQueue(queue, { durable: false });
const message = 'Hello World!';
channel.sendToQueue(queue, Buffer.from(message));
console.log(` [x] Sent ${message}`);
setTimeout(() => {
channel.close();
connection.close();
}, 500);
} catch (error) {
console.error(error);
}
}
main();
在终端里执行 node index.js,如果看到控制台输出 Sent Hello World!,说明消息已经成功投递到 RabbitMQ 的 hello 队列里了。
光发不收肯定不行。再创建一个 receiver.js,连接到同一个队列,注册一个消费回调,每次收到消息就打印出来,并手动确认(channel.ack(msg)),确保消息不会丢失。
const amqp = require('amqplib');
async function main() {
try {
const connection = await amqp.connect('amqp://localhost');
const channel = await connection.createChannel();
const queue = 'hello';
await channel.assertQueue(queue, { durable: false });
channel.consume(queue, (msg) => {
console.log(` [x] Received ${msg.content.toString()}`);
channel.ack(msg);
});
} catch (error) {
console.error(error);
}
}
main();
新开一个终端窗口,执行 node receiver.js,你会看到 Received Hello World! 出现在屏幕上。至此,一个最基本的消息队列生产者-消费者模型就跑通了。
当然,这只是一个入门示例。实际项目中可能需要处理连接重试、消息持久化、交换器绑定、多队列路由等更复杂的逻辑。不过掌握了这个基础链路,往后拓展也就有了明确的入手点。
下一篇:Ubuntu C++如何高效配置
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8