参考官方地址: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》