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