Windows下安裝和配置RabbitMQ
RabbitMQ是由Erlang語言開發,基於AMQP(Advanced Message Queuing Protocol,高級消息隊列協議)協議實現的消息隊列,它是一種應用程序之間的通信方法,消息隊列在分布式系統開發中應用非常廣泛。
RabbitMQ官方地址: http://www.rabbitmq.com/
Windows下安裝包下載: RabbitMQ3.8.9_Erlang23.0.zip
開發中消息隊列通常應用於以下場景
任務異步處理
將不需要同步處理並且耗時較長的操作由消息隊列通知消息消費方進行異步處理,這種處理方式能夠大大的節省服務器請求響應時間,從而提高了終端用戶的體驗和系統的吞吐量。
應用程序解耦合
消息隊列相當於一個中介,生產方和消費方通過消息隊列交互,這樣可以將應用程序進行解耦合。
削峰填谷
在某些場景下可能會有在一定時間段內系統的高並發,例如搶票或者秒殺系統的訂單處理,短時間內可能會有每秒上萬次的數據庫並發寫入,平時可能只有每秒數十次的並發量;而我們的數據庫可能只能夠支撐每秒上千次的並發寫入,為了防止數據庫因高峰期的短時間內的高並發量而宕機,這時使用消息隊列可以按照系統自身的承受能力來限制數據庫寫入的並發量來避免數據庫宕機。這樣一來高峰期產生的數據就會被積壓在消息隊列中,高峰就被削掉了(“削峰”);同時因為消息的積壓,在高峰期過后的一段時間里,消息消費的速度還會維持在當前水平,直到被積壓的消息被消費完,這就叫做”填谷“。
安裝Rabbit MQ
正如上面說的RabbitMQ是由Erlang語言開發的,所以在安裝RabbitMQ之前我們需要先安裝Erlang。
NOTEs:每個版本的RabbitMQ都對Erlang的版本有一定的要求,具體的版本支持的信息可以在以下頁面查看:
RabbitMQ Erlang Version Requirement: https://www.rabbitmq.com/which-erlang.html
本文安裝的RabbitMQ為V3.8.9, Erlang支持的版本為22.3-23.X。
安裝Erlang
下載地址: https://www.erlang.org/downloads, 本文選擇OTP 23.0
設置ERLANG_HOME環境變量
新建系統環境變量ERLANG_HOME:
將ERLANG_HOME追加至PATH:
打開命令行窗口,鍵入erl
Erlang安裝成功。
安裝Rabbit MQ
下載地址:http://www.rabbitmq.com/download.html
exe安裝地址(V3.8.9):https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.9/rabbitmq-server-3.8.9.exe
解壓縮安裝地址(V3.8.9):https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.9/rabbitmq-server-windows-3.8.9.zip
本文采用的exe安裝,版本為rabbitmq-server-3.8.9.exe,安裝步驟比較簡單直接下一步就行。exe安裝會自動配置系統服務並且為自動啟動項,如果無需系統服務可選擇使用壓縮包解壓縮即可。
設置RABBITMQ_SERVER環境變量
新建系統環境變量RABBITMQ_SERVER:
將RABBITMQ_SERVER追加至Path:
啟用RabbitMQ管理插件
RabbitMQ的安裝包默認是沒有啟用任何插件的,所以我們需要運行以下命令來啟用RabbmitMQ的管理插件
rabbitmq-plugins.bat enable rabbitmq_management
出現以上頁面說明管理插件啟用成功,需要重啟RabbitMQ服務后生效。
在系統服務中重新啟動RabbitMQ服務后,瀏覽器中訪問http://localhost:15672/
輸入默認的用戶名和密碼(guest/guest)即可登陸至管理頁面創建自己的Queue。
至此在Windows環境下安裝和部署RabbitMQ完成。
如果不希望通過服務來啟停RabbitMQ可以使用安裝%RABBITMQ_SERVER%\sbin下的rabbitmq-server.bat來啟動RabbitMQ,如果通過命令行窗口通過rabbitmq-server.bat來啟動RabbitMQ,可以帶上啟動參數“-detached”,這樣可以讓RabbitMQ在后台運行而不影響當前命令行窗口的其他操作。
rabbitmq-server.bat -detached
如果是用解壓縮的方式安裝的RabbitMQ,但是要用服務來管理RabbitMQ的啟停,可以通過以下命令來安裝服務:
rabbitmq-service.bat install
rabbitmqctl.bat命令可以管理正在運行的RabbitMQ,命令格式如下:
rabbitmqctl [--node <node>] [--timeout <timeout>] [--longnames] [--quiet] <command> [<command options>]