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程序:
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,命令如下:
添加創建虛擬主機:
用下面指定就可以顯示出所有虛擬主機信息:
Listing vhosts ...
/ (根目錄)
dnt_mq
下面添加用戶和密碼(用戶名daizhj, 密碼:617595):
綁定用戶權限:
Setting permissions for user "daizhj" in vhost "dnt_mq" ...
列出用戶權限:
Listing permissions for user "daizhj" ...
dnt_mq .* .* .* client
到這里,就完成了單機上rabbitmq的環境配置。在下一篇文章中,將會介紹使用其.net客戶端進行簡單的開發。
留言列表