RabbitMQ是一個在AMQP協(xié)議標(biāo)準(zhǔn)基礎(chǔ)上完整的,可服用的企業(yè)消息系統(tǒng)。他遵循Mozilla Public License開源協(xié)議。采用 Erlang 實現(xiàn)的工業(yè)級的消息隊列(MQ)服務(wù)器。
牡丹江網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)2013年至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。RabbitMQ的官方站:http://www.rabbitmq.com/
AMQP(高級消息隊列協(xié)議) 是一個異步消息傳遞所使用的應(yīng)用層協(xié)議規(guī)范,作為線路層協(xié)議,而不是API(例如JMS),AMQP 客戶端能夠無視消息的來源任意發(fā)送和接受信息。AMQP的原始用途只是為金融界提供一個可以彼此協(xié)作的消息協(xié)議,而現(xiàn)在的目標(biāo)則是為通用消息隊列架構(gòu)提供通用構(gòu)建工具。因此,面向消息的中間件 (MOM)系統(tǒng),例如發(fā)布/訂閱隊列,沒有作為基本元素實現(xiàn)。反而通過發(fā)送簡化的AMQ實體,用戶被賦予了構(gòu)建例如這些實體的能力。這些實體也是規(guī)范的一 部分,形成了在線路層協(xié)議頂端的一個層級:AMQP模型。這個模型統(tǒng)一了消息模式,諸如之前提到的發(fā)布/訂閱,隊列,事務(wù)以及流數(shù)據(jù),并且添加了額外的特性,例如更易于擴(kuò)展,基于內(nèi)容的路由。
AMQP當(dāng)中有四個概念非常重要
virtual host,虛擬主機 exchange,交換機 queue,隊列 binding,綁定下載
安裝RabbitMQ需要先安裝Erlang語言開發(fā)包。下載地址http://www.erlang.org/download.html
安裝RabbitMQ 下載地址http://www.rabbitmq.com/download.html
安裝
先執(zhí)行Erlang語言開發(fā)包安裝程序,再執(zhí)行RabbitMQ 安裝程序
Erlang語言開發(fā)包安裝目錄:C:Program Fileserl9.0
RabbitMQ 安裝目錄:C:Program FilesRabbitMQ Server
完成安裝之后需要配置環(huán)境變量(經(jīng)過驗證可以不配置):
Erlang語言開發(fā)包環(huán)境變量
配置環(huán)境變量ERLANG_HOME=C:Program Files (x86)erl5.9
添加到PATH %ERLANG_HOME%bin;
RabbitMQ 環(huán)境變量
配置環(huán)境變量RABBITMQ_SERVER=C:Program FilesRabbitMQ Serverrabbitmq_server-3.6.11
添加到PATH%RABBITMQ_SERVER%sbin;
安裝管理工具
進(jìn)入%RABBITMQ_SERVER%sbin 目錄以管理員身份運行 以下命令安裝
rabbitmq-plugins.bat enable rabbitmq_management
安裝完成之后以管理員身份啟動rabbitmq-service.bat
rabbitmq-service.bat stop
rabbitmq-service.bat install
rabbitmq-service.bat start
訪問
通過瀏覽器訪問:http://localhost:15672/聯(lián)接
默認(rèn)賬號:guest密碼:guest
打開以上內(nèi)容表示安裝成功
常用命令
創(chuàng)建一個用戶為mytest,密碼為mytest
rabbitmqctl add_usermytestmytest
刪除一個用戶
rabbitmqctl delete_user username
修改用戶的密碼
rabbitmqctl change_password username newpassword
查看當(dāng)前用戶列表
rabbitmqctl list_users
設(shè)置用戶角色(user為用戶名, tag為角色名(對應(yīng)administrator,monitoring,policymaker,management,或其他自定義名稱)
rabbitmqctl set_user_tags user tag tag tag
設(shè)置用戶權(quán)限(給用戶mytest 設(shè)置所有資源都可以讀寫權(quán)限)
rabbitmqctl set_permissions -p / mytest\'.*\'\'.*\'\'.*\'(配置權(quán)限的正則,寫權(quán)限的正則,讀全新的正則)
查看(指定vhostpath)所有用戶的權(quán)限信息
rabbitmqctllist_permissions -p /
查看某個指定用戶的權(quán)限信息
rabbitmqctl list_user_permissions
清除某個用戶的權(quán)限信息
rabbitmqctl clear_permissions[-p vhostpath] username