這個系列目前計劃寫四篇,分別是配置,示例,WCF發佈,實戰。固然不排除加餐狀況。html
介紹:java
rabbitMQ是一個在AMQP協議標準基礎上完整的,可服用的企業消息系統。他遵循Mozilla Public License開源協議。採用 Erlang 實現的工業級的消息隊列(MQ)服務器。node
RabbitMQ的官方站:http://www.rabbitmq.com/ AMQP(高級消息隊列協議) 是一個異步消息傳遞所使用的應用層協議規範,做爲線路層協議,而不是API(例如JMS),AMQP 客戶端可以無視消息的來源任意發送和接受信息。AMQP的原始用途只是爲金融界提供一個能夠彼此協做的消息協議,而如今的目標則是爲通用消息隊列架構提供通用構建工具。所以,面向消息的中間件 (MOM)系統,例如發佈/訂閱隊列,沒有做爲基本元素實現。反而經過發送簡化的AMQ實體,用戶被賦予了構建例如這些實體的能力。這些實體也是規範的一 部分,造成了在線路層協議頂端的一個層級:AMQP模型。這個模型統一了消息模式,諸如以前提到的發佈/訂閱,隊列,事務以及流數據,而且添加了額外的特性,例如更易於擴展,基於內容的路由。 目前該開源項目已很是成熟,並應用於金融系統等領域,具備高併發效率,高可靠性等特色,並提供了相應的.net客戶端實現(含源碼)。linux
.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 下面設置一下環境變量:web
接着下載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程序: windows
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