目前使用的开发环境主要还是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

Node.js使用rabbitMQ(一)的更多相关文章

  1. Node.js连接RabbitMQ,断线重连,动态绑定routing key

    RabbitMQ官方提供的教程https://www.rabbitmq.com/tuto...,是基于回调的. 下面将给出基于Promise式的写法.并且实现动态的队列绑定 初始化配置 const a ...

  2. [转]RabbitMQ学习之:(十二)在Node.js环境下使用RabbitMQ

    本文转自:https://blog.csdn.net/puncha/article/details/8452017 学,以致用.找了半天Node.js下RabbitMQ的库,看上去都不太趁手,直到最后 ...

  3. RabbitMQ学习之:(十二)在Node.js环境下使用RabbitMQ

    学,以致用.找了半天Node.js下RabbitMQ的库,看上去都不太趁手,直到最后找到了amqp库,看上去倒还不错,照着例子,写了第一个RabbitMQ的客户端. 首先,使用 npm install ...

  4. rabbitmq, windows/linux, c/c++/node.js/golang/dotnet

    官网:http://www.rabbitmq.com/ zeromq 相当于 message backbone,而rabbitmq相当于message broker.有的应用系统中,二者并存. (1) ...

  5. 在Node.js中使用RabbitMQ系列一 Hello world

    在前一篇文章中可伸缩架构简短系列中提到过关于异步的问题.当时推荐使用RabbitMQ来做任务队列的实现方案.本篇文章以Node.js为例子,来实际操作如何和RabbitMQ进行交互. 介绍 Rabbi ...

  6. 在Node.js中使用RabbitMQ系列二 任务队列

    在上一篇文章在Node.js中使用RabbitMQ系列一 Hello world我有使用一个任务队列,不过当时的场景是将消息发送给一个消费者,本篇文章我将讨论有多个消费者的场景. 其实,任务队列最核心 ...

  7. [转]在Node.js中使用RabbitMQ系列一 Hello world

    本文转自:https://www.cnblogs.com/cpselvis/p/6288330.html 在前一篇文章中可伸缩架构简短系列中提到过关于异步的问题.当时推荐使用RabbitMQ来做任务队 ...

  8. RabbitMQ Node.js 示例

    RabbitQM 处理和管理消息队列的中间人(broker).可简单理解为邮局,你在程序中写好消息,指定好收件人,剩下的事件就是 RabbitMQ 的工作了,它会保证收件人正确收到邮件. 任何发送邮件 ...

  9. Node.js amqplib 连接 Rabbitmq 学习笔记

    var amqp = require('amqplib'); connect([url, [socketOptions]]) var amqp = require('amqplib/callback_ ...

随机推荐

  1. HTML5开发之获取设备的地理坐标

    近期一段时间開始学一下html5,发现里面有好多的知识还是蛮新颖的.所以整理了一下自己练习过的demo给大家分享下,以下的代码是通过js接口获取当前的地理坐标. <!doctype html&g ...

  2. java推断字符串中是否包括字母

    1.java代码推断字符串中是否包括字母: 思路:使用正則表達式的来验证 1.1演示样例代码例如以下: /** * 该方法主要使用正則表達式来推断字符串中是否包括字母 * @author fengga ...

  3. wkhtmltopdf错误解决办法

    Odoo/openerp 打印报表时,无法输出PDF格式,提示下面的错误Unable to find Wkhtmltopdf on this system. The report will be sh ...

  4. vs2017莫名自动退出调试状态可以尝试一下如下的方法

  5. CentOS yum时出现"Could not retrieve mirrorlist"

    问题描述: CentOS 6.x minimal(最小化) 安装, CentOS yum install net-tools 时出现"Could not retrieve mirrorlis ...

  6. MySQL优化系列

    https://blog.csdn.net/Jack__Frost/article/details/73347688

  7. 什么是XML RPC?

    # -*- coding: cp936 -*- #python 27 #xiaodeng #什么是XML RPC? #中文叫:远程过程调用 #使用http协议做传输协议的rpc机制,使用xml文本的方 ...

  8. gitlab webhook报500

    使用root登陆gitlab,进入如下位置:

  9. iOS TableView多级列表

    代码地址如下:http://www.demodashi.com/demo/15006.html 效果预览 ### 一.需求 TableView多级列表:分级展开或合并,逐级获取并展示其子级数据,可以设 ...

  10. ios中ASIHTTPRequst的封装

    #import <Foundation/Foundation.h> #import "ASIHTTPRequest.h" #import "ASIDownlo ...