NET下RabbitMQ实践[配置篇]
这个系列目前计划写四篇,分别是配置,示例,WCF发布,实战。当然不排除加餐情况。
介绍:
rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。他遵循Mozilla Public License开源协议。采用 Erlang 实现的工业级的消息队列(MQ)服务器。
RabbitMQ的官方站:http://www.rabbitmq.com/
AMQP(高级消息队列协议) 是一个异步消息传递所使用的应用层协议规范,作为线路层协议,而不是API(例如JMS),AMQP 客户端能够无视消息的来源任意发送和接受信息。AMQP的原始用途只是为金融界提供一个可以彼此协作的消息协议,而现在的目标则是为通用消息队列架构提供通用构建工具。因此,面向消息的中间件 (MOM)系统,例如发布/订阅队列,没有作为基本元素实现。反而通过发送简化的AMQ实体,用户被赋予了构建例如这些实体的能力。这些实体也是规范的一 部分,形成了在线路层协议顶端的一个层级:AMQP模型。这个模型统一了消息模式,诸如之前提到的发布/订阅,队列,事务以及流数据,并且添加了额外的特性,例如更易于扩展,基于内容的路由。
目前该开源项目已非常成熟,并应用于金融系统等领域,具有高并发效率,高可靠性等特点,并提供了相应的.net客户端实现(含源码)。
.NET客户端下载链接:http://www.rabbitmq.com/dotnet.html, 目前最新版本号 2.1.1
网上有许多关于在linux平台上的rabbitmq的(包括集群)安装的介绍,如下:
linux: http://www.javaeye.com/wiki/topic/640537
下面是在window环境下的配置:
首先需要下载erlang运行时环境(Windows binary): http://erlang.org/download.html
选择要安装的程序版本,比如:http://erlang.org/download/otp_win32_R12B-5.exe
注:本文环境安装在了D盘,形如: D:\Program Files (x86)\erl5.6.5
下面设置一下环境变量:
接着下载RabbitMQ Server(目前最新版本为2.1.1),链接如下:http://www.rabbitmq.com/server.html
下载并安装其中的window安装包到D盘下:
注: 源码链接http://www.rabbitmq.com/releases/rabbitmq-server/v2.1.1/rabbitmq-server-2.1.1.zip
在CMD命令行下运行上面的rabbitmq server程序:
D:\rabbitmq\sbin>rabbitmq-server
Activating RabbitMQ plugins ...
0 plugins activated:
.....
starting file handle cache server ...done
starting worker pool ...done
starting database ...done
starting codec correctness check ...done
-- external infrastructure ready
starting exchange type registry ...done
starting exchange type topic ...done
starting exchange type headers ...done
starting exchange type fanout ...done
starting exchange type direct ...done
starting statistics event manager ...done
starting logging server ...done
-- kernel ready
starting node monitor ...done
starting cluster delegate ...done
starting guid generator ...done
starting alarm handler ...done
starting memory monitor ...done
-- core initialized
starting empty DB check ...done
starting exchange recovery ...done
starting queue supervisor and queue recovery ...done
-- message delivery logic ready
starting error log relay ...done
starting networking ...done
-- network listeners available broker running
这样rabbitmq server就运行起来了。
在使用rabbitmq之前,如果对该项目不太了解的话,可以看一下这两个速成链接:
下面我们使用rabbitmqctl控制台命令(位于D:\rabbitmq\sbin>)来配置vhost,创建用户,密码,绑定权限等。
首先创建vhosts,命令如下:
添加创建虚拟主机:
D:\rabbitmq\sbin>rabbitmqctl add_vhost dnt_mq
//注:删除虚拟主机 rabbitmqctl delete_vhost vhostpath
用下面指定就可以显示出所有虚拟主机信息:
D:\rabbitmq\sbin>rabbitmqctl list_vhosts
Listing vhosts ...
/ (根目录)
dnt_mq
下面添加用户和密码(用户名daizhj, 密码:617595):
D:\rabbitmq\sbin>rabbitmqctl add_user daizhj 617595 //注:修改用户密码:rabbitmqctl change_password username newpassword
绑定用户权限:
D:\rabbitmq\sbin>rabbitmqctl set_permissions -p dnt_mq daizhj ".*" ".*" ".*"
Setting permissions for user "daizhj" in vhost "dnt_mq" ...
列出用户权限:
D:\rabbitmq\sbin>rabbitmqctl list_user_permissions daizhj
//注:清除用户权限 rabbitmqctl clear_permissions [-p vhostpath] username
Listing permissions for user "daizhj" ...
dnt_mq .* .* .* client
到这里,就完成了单机上rabbitmq的环境配置。在下一篇文章中,将会介绍使用其.net客户端进行简单的开发。
NET下RabbitMQ实践[配置篇]的更多相关文章
- NET下RabbitMQ实践[实战篇]
之前的文章中,介绍了如何将RabbitMQ以WCF方式进行发布.今天就介绍一下我们产品中如何使用RabbitMQ的! 在Discuz!NT企业版中,提供了对HTTP错误日志的记录功能 ...
- NET下RabbitMQ实践[示例篇]
在上一篇文章中,介绍了在window环境下安装erlang,rabbitmq-server,以免配置用户,权限,虚拟机等内容. 今天将会介绍如果使用rabbitmq进行简单的消息入队, ...
- NET下RabbitMQ实践[WCF发布篇]
在之前的两篇文章中,主要介绍了RabbitMQ环境配置,简单示例的编写.今天将会介绍如何使用WCF将RabbitMQ列队以服务的方式进行发布. 注:因为RabbitMQ的官方.net ...
- 实践详细篇-Windows下使用VS2015编译的Caffe训练mnist数据集
上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下 ...
- 实践详细篇-Windows下使用Caffe训练自己的Caffemodel数据集并进行图像分类
三:使用Caffe训练Caffemodel并进行图像分类 上一篇记录的是如何使用别人训练好的MNIST数据做训练测试.上手操作一边后大致了解了配置文件属性.这一篇记录如何使用自己准备的图片素材做图像分 ...
- Linux下安装、配置、启动与访问RabbitMQ
一.下载 首先第一步要下载三个rpm安装包,为了方便安装与学习,给出下载途径 网盘网址:https://pan.baidu.com/s/18Z64Lb9KQpRh10RzqZBdoQ 提取码:094v ...
- Linux下 RabbitMQ的安装与配置-3
一 Erlang安装 1.RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境. 从Erlang的官网http://www.erlang.org/download.html 下载最 ...
- Linux下 RabbitMQ的安装与配置
以下教程摘录自互联网并做了适当修改,测试的rabbitmq 版本为:rabbitmq-server-generic-unix-3.5.6 各版本之间会有差异!!! 一 Erlang安装 Rabbit ...
- Centos下堡垒机Jumpserver V3.0环境部署完整记录(2)-配置篇
前面已经介绍了Jumpserver V3.0的安装,基于这篇安装文档,下面说下Jumpserver安装后的的功能使用: 一.jumpserver的启动 Jumpserver的启动和重启 [root@t ...
随机推荐
- oracle中的隐式提交(auto commit)
通常我们执行sql或pl/sql时,需要我们手工提交.这样才能使所做的更改永久保存到数据库. 但有时即使我们没有在sql或pl/sql中发出commit命令,所做的更改也会被提交.这种提交是在某些特定 ...
- 商品库存SKU
一种解决方案(性能垃圾,基本实现功能)商品表 属性集表 属性表 属性值表 SKU表 SKU选项表 属性集和属性之间的中间表表关系商品表 *--------------1 属性集表属性集表 *- ...
- sql之表的表达式
1.派生表 实质:就是特殊的子查询(将查询结果放在from后面) 含有一张Order表: 看下面的sql语句: select orderid,orderdate,custid from ( selec ...
- Eclipse升级到4.4.2后界面主题更改
在win8.1电脑上一直很喜欢eclipse luna sr1a(4.4.1)版本的界面好像是软件自动设置的. 这几天更新到eclipse luna sr2(4.4.2)版本后发现界面大变,怎么也找不 ...
- 1201: [HNOI2005]数三角形 - BZOJ
Description Input 大三角形的所有短边可以看成由(n+1)*n/2个单位三角形的边界组成.如下图的灰色三角形所示.其中第1排有1个灰色三角形,第2排有2个灰色三角形,……,第n排有n个 ...
- maven插件mybatis-generator生成代码配置
鸣谢:http://my.oschina.net/u/1763011/blog/324106?fromerr=nJakGh4P (也可参看此博客进行配置) http://www.cnblogs.com ...
- ExtJS4.2学习(五)表格渲染与复选框
鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-10/174.html --------------- ...
- Discuz云平台站点信息同步失败,An unknown error occurred. May be DNS Error.
站点信息同步失败 An unknown error occurred. May be DNS Error. (ERRCODE:1) 经过Discuz教程网(http://www.1314study.c ...
- 酷摄影:关于梦 - Miki takahashi
这组摄影来自于日本东京摄影师 Miki takahashi 是一组双重曝光摄影,分开看也许很平常,但是结合在一起却非常有韵味. [gallery]
- Chp3: Stacks and Queue
1. 说明如何用两个队列来实现一个栈,并分析有关栈操作的运行时间. 解法:1.有两个队列q1和q2,先往q1内插入a,b,c,这做的都是栈的push操作.2.现在要做pop操作,即要得到c,这时可以将 ...