参考官方地址:https://www.rabbitmq.com/tutorials/tutorial-one-javascript.html
关于C#消息发送端,请参考《c# RabbitMQ 发送消息》
该文章中,只是消息的接收端,使用Nodejs,其中最重要的一个库是RabbitMQ官方给出的amqplib,文章中的代码都是参考官方的示例
首先安装amqplib
npm install amqplib --save
然后创建index.js,内容如下
var amqp = require('amqplib/callback_api'); amqp.connect('amqp://localhost', function (err, conn) {
conn.createChannel(function (err, ch) {
var q = 'UploadMachineStatus'; //接收端
ch.assertQueue(q, { durable: true }); console.log(" [*] Waiting for messages in queue %s. To exit press CTRL+C", q); //接收端
ch.consume(q, function (msg) {
console.log(" [x] %s", msg.content.toString());
}, { noAck: true });
});
});
promise版本
var q = 'UploadMachineStatus';
var open = require('amqplib').connect('amqp://localhost'); // Consumer
open.then(function (conn) {
return conn.createChannel();
}).then(function (ch) {
return ch.assertQueue(q).then(function (ok) { return ch.consume(q, function (msg) {
if (msg !== null) { console.log(msg.content.toString());
ch.ack(msg);
}
}); });
}).catch(console.warn);
效果图,当消息发送端发出了消息后,在Nodejs消息接收端会比较及时的收到消息
文章参考:《架构设计之NodeJS操作消息队列RabbitMQ》