一. RabbitMq簡介
1. 介紹
RabbitMQ是 2007年發布,是一個在AMQP(高級消息隊列協議)基礎上完成的,由Erlang(專門針對於大數據高並發的語言;)語言開發,可復用的企業消息系統,是當前最主流的消息中間件之一。
特點:可靠性、靈活的路由、消息集群簡單、隊列高可用、多種協議的支持、服務器端用Erlang語言編寫、管理界面、跟蹤機制、插件機制
官網地址:https://www.rabbitmq.com/
作為隊列,通用的優缺點:
優點:
①異步處理,響應快,增加了數據庫(服務器的承載能力);
②削峰,就是把流量的高峰分解到不同的時間段來處理;
③解耦(擴展性就更強),讓UI和業務獨立演化;
④高可用,處理器如果發生故障了,對其他的處理器沒有影響;
缺點:
①增加了復雜性
②即時性降低了,犧牲了用戶的體驗---避免不了,業務上也是需要有所犧牲;
③更加依賴於異步隊列了
2. 結構圖
3. 運行原理
4. 一些名詞
(1). Connection(連接): 與RabbitMq建立連接,由ConnectionFactory創建,每個connnection相當於一個server進行連接,此鏈接基於Socket,可以理解為一個dbConnection。
(2). Channel(信道):在客戶端的每個連接里,可建立多個channel,每個channel代表一個會話任務。
(3). Exchange(交換機):決定了消息路由規則,轉發到哪個隊列中。
(4). Queue(隊列) :消息的載體,每個消息都會被投入到1個或多個隊列。
(5). Bind(綁定器):將exchange和queue按照某種路由規則綁定起來。
(6). Routing Key(路由key) :exchange根據該key進行信息的轉發。
二. 安裝/卸載/常用指令
1. 安裝步驟
參考: https://www.cnblogs.com/yaopengfei/p/13763500.html
2. 卸載步驟
(1).打開Windows控制面板,雙擊“程序和功能”。
(2). 在當前安裝的程序列表中,右鍵單擊RabbitMQ Server,然后單擊“卸載”。
(3).在當前安裝的程序列表中,右鍵單擊“Erlang OTP”,然后單擊“卸載”。
(4).打開Windows任務管理器。
(5).在任務管理器中,查找進程epmd.exe。 如果此進程仍在運行,請右鍵單擊該進程,然后單擊“結束進程”。
(6).刪除RabbitMQ和Erlang的所有安裝目錄。
(7).刪除文件C:\ Windows \ .erlang.cookie(如果存在)。
(8).刪除電腦找那個所有的.erlang.cookie。
(9).同樣在User文件夾中,轉到AppData \ Roaming \ RabbitMQ。刪除RabbitMQ
(10).打開運行cmd->sc delete RabbitMQ。
(11). 打開運行->regedit 找到RabbitMQ節點,刪掉即可
3. 指令匯總
【rabbitmqctl status】 查詢狀態
【rabbitmqctl list_users】 查看用戶列表
【rabbitmqctl add_user ypf123456】 創建用戶ypf,密碼為123456
【rabbitmqctl set_permissions ypf ".*" ".*" ".*"】 賦予ypf讀寫所有消息隊列的權限
【rabbitmqctl set_user_tags ypf administrator 】分配用戶組
刪除隊列
# 查看所有隊列
rabbitmqctl list_queues
# 根據 queue_name 參數,刪除對應的隊列
rabbitmqctl delete_queue queue_name
刪除所有隊列(慎用,會刪除一些配置信息)
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
PS:以上所有指令默認需要在 RabbitMQ Server/rabbitmq_server-3.8.3/sbin 目錄下進行,也可以配置一下全局路徑,則全局使用即可(詳見安裝步驟)。
三. 圖形界面操作
地址:http://127.0.0.1:15672 訪問RabbitMq的監控系統,默認賬號和密碼都是 guest。
1. Overview(總覽)
2.Connections(鏈接)
3.Channels(信道)
4.Exchanges(交換機)
選擇一個交換機,點擊進入,可以進行一系列操作。
5.Queues(隊列)
點擊一個隊列進入:
6. Admin管理員
(1). 添加用戶
(2). 添加Virtual
7. 其它
!
- 作 者 : Yaopengfei(姚鵬飛)
- 博客地址 : http://www.cnblogs.com/yaopengfei/
- 聲 明1 : 如有錯誤,歡迎討論,請勿謾罵^_^。
- 聲 明2 : 原創博客請在轉載時保留原文鏈接或在文章開頭加上本人博客地址,否則保留追究法律責任的權利。