目前使用的开发环境主要还是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. Mule 入门之:环境搭建

    Mule 入门之:环境搭建 JDK1.5或以上版本Eclipse3.3以上 下载与安装:目前最新版本为2.2.1 下载,下载后得到一名为mule-standalone-2.2.1.zip的压缩文件,解 ...

  2. The cast to value type 'System.Decimal' failed because the materialized value is null. Either the result type's generic parameter or the query must use a nullable type.

    CurrentStock = db.BillEntry.Where(b => b.GoodsId == item.GoodsId).Sum(b => (decimal?)b.Qty) ?? ...

  3. codevs 1862 最长公共子序列(求最长公共子序列长度并统计最长公共子序列的个数)

    题目描述 Description 字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X=“x0,x1,…,xm-1”,序列Y ...

  4. Jmeter-maven-plugin高级配置之选择测试脚本(转)

    Posted on 2014 年 6 月 6 日 在pom.xml文件中可以指定运行哪些jmx脚本. 运行所有的测试脚本 Jmeter默认运行${project.base.directory}/src ...

  5. java中转义字符和路径符

    来源于:http://blog.csdn.net/u011479200/article/details/69062343 在Java的实际开发中,经常会遇填写一个文件的相对路径或者是绝对路径的问题,对 ...

  6. startActivityForResult的使用和用法

    startActivityForResult的使用和用法 startActivityForResult 和 onActivityResult在activity间传递数据 AndroidManifest ...

  7. Dockerfile 构建后端springboot应用并用shell脚本实现jenkins自动构建

    Dockerfile 文件构建docker镜像 FROM centos MAINTAINER zh*****eng "z*******ch.cn" ENV LANG en_US.U ...

  8. ios中base64编码

    参考文章:其中文章的:http://blog.csdn.net/ztp800201/article/details/9470065 下载包 其中 包括GTMBase包下载地址 http://pan.b ...

  9. 大道至简的C语言内存管理

    C语言内存的开辟和释放需要程序员自己来实现. 而C语言的内存开辟和释放只在stdlib.h里面提供了四个函数,这么简洁的设计就足以完成一切工作. C++里面各种类型的指针漫天飞舞,显得啰嗦冗余. ca ...

  10. Raspberry pi 使用python+pySerial实现串口通信(转)

    Raspberry pi 使用python+pySerial实现串口通信 转:http://blog.csdn.net/homeway999/article/details/8642353   目录( ...