、什麼是RabbitMQ。詳見 http://www.rabbitmq.com/。html
做用就是提升系統的併發性,將一些不須要及時響應客戶端且佔用較多資源的操做,放入隊列,再由另一個線程,去異步處理這些隊列,可極大的提升系統的併發能力。node
二、安裝web
RabbitMQ服務:http://www.rabbitmq.com/download.html。
(安裝完RabbitMQ服務後,會在Windows服務中看到。若是沒有Erlang運行環境,在安裝過程當中會提醒先安裝Erlang環境。http://www.erlang.org/downloads)數據庫
.net客戶端類庫:http://www.rabbitmq.com/dotnet.html安全
三、插件cookie
RabbitMQ提供了不少好用的插件,最經常使用的就是web管理工具,啓動此插件。併發
CMD中運行命令:rabbitmq-plugins enable rabbitmq_management異步
注:rabbitmq-plugins 所在路徑爲:D:\Program Files\RabbitMQ Server\rabbitmq_server-3.4.0\sbintcp
web管理工具的地址是:http://localhost:15672,初始用戶名:guest 初始密碼:guest分佈式
四、配置
配置文件地址爲:C:\Documents and Settings\Administrator\Application Data\RabbitMQ\rabbitmq.config,默認沒有rabbit.config文件,須要手工新建(默認會有rabbitmq.config.example 做爲參考)。基於安全,作了兩個配置,以下:
[ {rabbit, [ {loopback_users, [<<"guest">>]}, {tcp_listeners, [{"127.0.0.1", 1234}, {"10.121.1.48", 8009}]} ]} ].
loopback_users:設置只能在與RabbitMq服務同一臺機器上訪問服務的用戶。
tcp_listeners:設置RabbitMQ監聽的IP地址與端口。只監聽局域網內網iP、修改默認端口,防止被入侵攻擊。
設置完後,別忘記了如下操做,不然配置不起做用。
此命令要切換到路徑:D:\Program Files\RabbitMQ Server\rabbitmq_server-3.4.0\sbin
原文出處:http://www.cnblogs.com/qy1141/p/4054135.html
———————————————————————————————————————————————————————————————————————
在企業應用系統領域,會面對不一樣系統之間的通訊、集成與整合,尤爲當面臨異構系統時,這種分佈式的調用與通訊變得愈加重要。其次,系統中通常會有不少對實時性要求不高的可是執行起來比較較耗時的地方,好比發送短信,郵件提醒,更新文章閱讀計數,記錄用戶操做日誌等等,若是實時處理的話,在用戶訪問量比較大的狀況下,對系統壓力比較大。
面對這些問題,咱們通常會將這些請求,放在消息隊列中處理;異構系統之間使用消息進行通信。消息傳遞相較文件傳遞與遠程過程調用(RPC)而言,彷佛更勝一籌,由於它具備更好的平臺無關性,並可以很好地支持併發與異步調用。因此若是系統中出現了以下狀況:
通常的能夠考慮引入消息隊列。對於第一種狀況,經常會選擇消息隊列來處理執行時間較長的任務。引入的消息隊列就成了消息處理的緩衝區。消息隊列引入的異步通訊機制,使得發送方和接收方都不用等待對方返回成功消息,就能夠繼續執行下面的代碼,從而提升了數據處理的能力。尤爲是當訪問量和數據流量較大的狀況下,就能夠結合消息隊列與後臺任務,經過避開高峯期對大數據進行處理,就能夠有效下降數據庫處理數據的負荷。
在前面的一篇講解CQRS模式的文章中,全部的對系統的狀態的更改都是經過事件來完成,通常的將事件存儲到消息隊列中,而後進行統一的處理。
本文簡單介紹在RabbitMQ這一消息代理工具,以及在.NET中如何使用RabbitMQ.
首先,因爲RabbitMQ使用Erlang編寫的,須要運行在Erlang運行時環境上,因此在安裝RabbitMQ Server以前須要安裝Erlang 運行時環境,能夠到Erlang官網下載對應平臺的安裝文件。若是沒有安裝運行時環境,安裝RabbitMQ Server的時候,會提示須要先安裝Erlang環境。 安裝完成以後,確保已經將Erlang的安裝路徑註冊到系統的環境變量中。安裝完Erlang以後,這個環境會自動設置,若是沒有,在administrator環境下在控制檯下面輸入,也能夠設置:
Setx ERLANG_HOME 「D:\Program Files (x86)\erl6.3″
而後,去RabbitMQ官網下載RabbitMQ Server服務端程序,選擇合適的平臺版本下載。安裝完成以後,就能夠開始使用了。
如今就能夠對RabbitMQ Server進行配置了。
首先,切換到RabbitMQ Server的安裝目錄:
在sbin下面有不少batch文件,用來控制RabbitMQ Server,固然您也能夠直接在安裝開始菜單中來執行相應的操做:
最簡單的方式是使RabbitMQ以Windows Service的方式在後臺運行,因此咱們須要以管理員權限打開cmd,而後切換到sbin目錄下,執行這三條命令便可:
rabbitmq-service install rabbitmq-service enable rabbitmq-service start
如今RabbitMQ的服務端已經啓動起來了。
下面可使用sbin目錄下面的rabbitmqctl.bat這個腳原本查看和控制服務端狀態的,在cmd中直接運行rabbitmqctl status。若是看到如下結果:
顯示node沒有鏈接上,須要到C:\Windows目錄下,將.erlang.cookie文件,拷貝到用戶目錄下 C:\Users\{用戶名},這是Erlang的Cookie文件,容許與Erlang進行交互,如今重複運行剛纔的命令就會獲得以下信息:
RabbitMQ Server上面也有用戶概念,安裝好以後,使用rabbitmqctl list_users命令,能夠看到上面目前的用戶:
能夠看到,如今只有一個角色爲administrator的名爲guest的用戶,這個是RabbitMQ默認爲咱們建立的,他有RabbitMQ的全部權限,通常的,咱們須要新建一個咱們本身的用戶,設置密碼,並授予權限,並將其設置爲管理員,可使用下面的命令來執行這一操做:
rabbitmqctl add_user yy hello!
rabbitmqctl set_permissions yy ".*" ".*" ".*"
rabbitmqctl set_user_tags yy administrator
上面的一條命令添加了一個名爲yy的用戶,並設置了密碼hello!,下面的命令爲用戶yy分別授予對全部消息隊列的配置、讀和寫的權限。
如今咱們能夠將默認的guest用戶刪掉,使用下面的命令便可:
rabbitmqctl delete_user guest
若是要修改密碼,可使用下面的命令:
rabbitmqctl change_password {username} {newpassowrd}
原文:http://www.cnblogs.com/yangecnu/p/Introduce-RabbitMQ.html