目前使用的开发环境主要还是win,所以也只是介绍在win下的rabbitMQ的使用。
一、安装rabbitMQ(Installing on Windows)
关于安装地址,参见:Installing on Windows,特别需要注意的地方就是:由于rabbitMQ是使用Erlang开发的,所以首先第一步就是安装Erlang VM。在Erlang VM的基础上才能安装rabbitMQ。
二、安装包:amqp.node
关于node.js操作rabbitMQ的包,参见如下,rabbitMQ官网:Clients & Developer Tools,我们这里使用:amqp.node。
三、开发demo
新建一个项目rabbitMQTest,使用npm 安装amqp.node。依据amqp.node上面的API与demo我们,构造一个简单的demo,demo中包含两个文件:push.js用于发送消息,get.js用户获取消息。
push.js
var amqp = require('amqplib/callback_api'); amqp.connect('amqp://localhost', function(err, conn) { // 创建连接
conn.createChannel(function(err, ch) {
var q = 'test';
var msg = 'Hello World!'; ch.assertQueue(q, {durable: false});
ch.sendToQueue(q, new Buffer(msg)); // 发送消息
console.log("Send message:", msg);
});
setTimeout(function() { conn.close(); process.exit(0) }, 500);
});
get.js
var amqp = require('amqplib/callback_api'); amqp.connect('amqp://localhost', function(err, conn) { // 创建连接
conn.createChannel(function(err, ch) {
var q = 'test';
ch.assertQueue(q, {durable: false});
ch.consume(q, function(msg) { // 接收消息
console.log("get Message", msg.content.toString());
}, {noAck: true});
});
});
运行上面两个我文件,在控制台中你会看到想要的结果。
关于创建连接的时候url:参见:http://www.rabbitmq.com/uri-spec.html