rabbitMQ是壹個在AMQP協議標準基礎上完整的,可服用的企業消息系統。他遵循Mozilla Public License開源協議。采用 Erlang 實現的工業級的消息隊列(MQ)服務器。
AMQP?(高級消息隊列協議) 是壹個異步消息傳遞所使用的應用層協議規範,作為線路層協議,而不是API(例如JMS),AMQP 客戶端能夠無視消息的來源任意發送和接受信息。AMQP的原始用途只是為金融界提供壹個可以彼此協作的消息協議,而現在的目標則是為通用消息隊列架構提供通用構建工具。因此,面向消息的中間件 (MOM)系統,例如發布/訂閱隊列,沒有作為基本元素實現。反而通過發送簡化的AMQ實體,用戶被賦予了構建例如這些實體的能力。這些實體也是規範的壹 部分,形成了在線路層協議頂端的壹個層級:AMQP模型。這個模型統壹了消息模式,諸如之前提到的發布/訂閱,隊列,事務以及流數據,並且添加了額外的特性,例如更易於擴展,基於內容的路由。在Windows上安裝Rabbit MQ 指南,最好的是這篇《?Rabbit MQ Windows Installation guide?》,其中還包括了使用.NET RabbitMQ.Client Nuget 包訪問Rabbit MQ的示例代碼。
安裝Rabbit MQ
Rabbit MQ 是建立在強大的Erlang OTP平臺上,因此安裝Rabbit MQ的前提是安裝Erlang。通過下面兩個連接下載安裝3.2.3 版本:
下載並安裝?Eralng OTP For Windows?(vR16B03)
運行安裝?Rabbit MQ Server Windows Installer?(v3.2.3)
默認安裝的Rabbit MQ 監聽端口是5672
激活?Rabbit MQ's Management Plugin
使用Rabbit MQ 管理插件,可以更好的可視化方式查看Rabbit MQ 服務器實例的狀態,妳可以在命令行中使用下面的命令激活:
"C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin\rabbitmq-plugins.bat" enable rabbitmq_management?
要重啟服務才能生效,可以執行?net stop RabbitMQ && net start RabbitMQ
下面我們使用rabbitmqctl控制臺命令(位於C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin>)來創建用戶,密碼,綁定權限等。
Microsoft Windows [版本 6.3.9600](c) 2013 Microsoft Corporation。保留所有權利。
c:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin 的目錄
2014/11/01? 15:04 <DIR>? .
2014/11/01? 15:04 <DIR>? ..
2014/01/23? 22:57? 817 rabbitmq-echopid.bat
2014/01/23? 22:57 1,900 rabbitmq-plugins.bat
2014/01/23? 22:57 4,356 rabbitmq-server.bat
2014/01/23? 22:57 7,123 rabbitmq-service.bat
2014/01/23? 22:57 1,621 rabbitmqctl.bat
5 個文件 15,817 字節
2 個目錄 96,078,618,624 可用字節
c:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin>rabbitmqctl.ba
t list_users
Listing users ...
guest? [administrator]
...done.
c:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin>rabbitmqctl.ba
t list_vhosts
Listing vhosts ...
/
...done.
c:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin>rabbitmqctl.ba
t add_user geffzhang zsy@2014
Creating user "geffzhang" ...
...done.
c:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin>rabbitmqctl.ba
t list_users
Listing users ...
geffzhang? []
guest? [administrator]
...done.
c:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin>rabbitmqctl.ba
t set_user_tags geffzhang administrator
Setting tags for user "geffzhang" to [administrator] ...
...done.
c:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.2.3\sbin>rabbitmqctl.ba
t list_users
Listing users ...
geffzhang? [administrator]
guest? [administrator]
...done.
使用瀏覽器打開?http://localhost:15672?訪問Rabbit Mq的管理控制臺,使用剛才創建的賬號登陸系統: