.NET下RabbitMQ实践之基本配置

日期: 2010-10-25 作者:代震军 来源:TechTarget中国 英文

  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:rabbitmqsbin>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之前,如果对该项目不太了解的话,可以看一下这两个速成链接:

  •   AMQP和RabbitMQ入门
  •   rabbitmq 学习-6-rabbitmq基础

  下面我们使用rabbitmqctl控制台命令(位于D:rabbitmqsbin>)来配置vhost,创建用户,密码,绑定权限等。

  首先创建vhosts,命令如下:

  添加创建虚拟主机:

以下是引用片段:
D:rabbitmqsbin>rabbitmqctl add_vhost dnt_mq   
//注:删除虚拟主机 rabbitmqctl delete_vhost vhostpath

  用下面指定就可以显示出所有虚拟主机信息:

以下是引用片段:
D:rabbitmqsbin>rabbitmqctl list_vhosts
     Listing vhosts …
     /   (根目录)
     dnt_mq

 
  下面添加用户和密码(用户名daizhj,密码:617595):

以下是引用片段:
D:rabbitmqsbin>rabbitmqctl add_user daizhj 617595  //注:修改用户密码:rabbitmqctl change_password username newpassword

  绑定用户权限:

以下是引用片段:
D:rabbitmqsbin>rabbitmqctl set_permissions -p dnt_mq daizhj “.*” “.*” “.*”
   Setting permissions for user “daizhj” in vhost “dnt_mq” …

  列出用户权限:

以下是引用片段:
D:rabbitmqsbin>rabbitmqctl list_user_permissions daizhj  
//注:清除用户权限 rabbitmqctl clear_permissions [-p vhostpath] username
     Listing permissions for user “daizhj” …
     dnt_mq  .*      .*      .*      client

  到这里,就完成了单机上rabbitmq的环境配置。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • IBM继续推进消息中间件管理

    随着应用集成和软件基础设施变得日益复杂,这正在改变着中间件管理领域。SearchSOA.com和IBM连接与集成产品管理副总裁Kathy McGroddy Goetz讨论了这个问题。

  • MQ管理趋势受简化与安全驱动

    在一个到处都是端节点与异构应用的环境里,消息中间件正变得越来越流行,也越来越复杂。就消息队列(MQ)的当前趋势而言,其咒语已经很清楚了:简化、简化、再简化。

  • 如何用OpenStack安全构建私有云?

    如果你已经决定投入并构建你自己的云,那么恭喜你!现在不是仅仅构建安全的图片、锁定实例并管理你的数据,你也要确保运行的整个基础架构的安全。

  • WebSphere MQ性能调优浅谈

    目前随着我们在中国的WebSphereMQ(MQSeries)用户数量越来越多,越来越多的用户开始对MQ使用时的性能优化问题提出要求,希望能够更好地使用我们的产品……