一起谈.NET技术,NET下RabbitMQ实践 [配置篇]

简介: 这个系列目前计划写四篇,分别是配置,示例,WCF发布,实战。当然不排除加餐情况。     介绍:     rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。他遵循Mozilla Public License开源协议。

     这个系列目前计划写四篇,分别是配置,示例,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之前,如果对该项目不太了解的话,可以看一下这两个速成链接:

     AMQP和RabbitMQ入门      rabbitmq 学习-6-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客户端进行简单的开发。  

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
3天前
|
消息中间件 Java RocketMQ
教程:Spring Boot整合RocketMQ的配置与优化
教程:Spring Boot整合RocketMQ的配置与优化
|
3天前
|
消息中间件 存储 缓存
技术好文:RocketMQ之一:RocketMQ整体介绍
技术好文:RocketMQ之一:RocketMQ整体介绍
11 0
|
3天前
|
XML 机器学习/深度学习 移动开发
技术笔记:log4net使用详解
技术笔记:log4net使用详解
|
3天前
|
存储 安全 C#
技术心得记录:强命名的延迟与关联在.net程序集保护中的作用及其逆向方法
技术心得记录:强命名的延迟与关联在.net程序集保护中的作用及其逆向方法
|
3天前
|
存储 JSON NoSQL
技术心得记录:在.NETCore中使用CSRedis
技术心得记录:在.NETCore中使用CSRedis
|
4天前
|
网络协议
技术好文:Smark.Net实现简单聊天程序
技术好文:Smark.Net实现简单聊天程序
|
4天前
|
消息中间件 存储 中间件
【主流技术】聊一聊消息队列 RocketMQ 的基本结构与概念
2.6Broker 代理服务器(Broker)是消息中转角色,负责存储消息、转发消息。代理服务器在 RocketMQ 系统中负责接收从生产者发送来的消息并存储、同时为消费者的拉取请求作准备。代理服务器也存储消息相关的元数据,包括消费者组、消费进度偏移和主题和队列消息等。 2.7Pull Consumer 拉取式消费(Pull Consumer)是 Consumer 消费的一种类型,也是默认的类型。下游应用系统通常主动调用 Consumer 的拉消息方法从 Broke r服务器拉消息,即主动权由下游应用控制。一旦获取了批量消息,应用就会启动消费过程。
|
5天前
|
消息中间件
RabbitMQ配置单活模式队列
RabbitMQ配置单活模式队列
10 0
|
5天前
|
消息中间件
RabbitMQ配置多线程消费
RabbitMQ配置多线程消费
11 0
|
6天前
|
消息中间件 RocketMQ
Centos7.6安装RocketMQ4.9.2并配置开机自启
Centos7.6安装RocketMQ4.9.2并配置开机自启
12 0