一、Windows部署RabbitMQ

yangleiyu發表於2021-11-11

RabbitMQ官方網站非常詳細,以下只是本人學習過程的整理

 

一、Windows部署RabbitMQ:https://www.cnblogs.com/yangleiyu/p/15539618.html
二、Linux部署RabbitMQ叢集:https://www.cnblogs.com/yangleiyu/p/15539698.html
三、.Net Core使用RabbitMQ各種模式:會在後續文章介紹

 

一、概述

1、RabbitMQ的概念

RabbitMQ是實現了高階訊息佇列協議(AMQP)的開源訊息代理軟體(亦稱面向訊息的中介軟體)

RabbitMQ伺服器是用Erlang語言編寫的,Erlang是專門為高併發而生的語言,而叢集和故障轉移是構建在開發電信平臺框架上的。所有主要的程式語言均有與代理介面通訊的客戶端庫

RabbitMQ是一個在AMQP協議標準基礎上完整的,可服用的企業訊息系統。它遵循Mozilla Public License開源協議,採用 Erlang 實現的工業級的訊息佇列(MQ)伺服器

2、RabbitMQ的好處

開源,安全,可靠性高,資料能夠保證百分之百的不丟失等等

3、RabbitMq的使用場景

3.1什麼時候使用MQ?

1)資料驅動的任務依賴

2)上游不關心多下游執行結果

3)非同步返回執行時間長

3.2什麼時候不使用MQ?

需要實時關注執行結果 (同步呼叫)

4、RabbitMQ的幾種工作模式

A、簡單模式(Simple)

簡單的傳送與接收

 

B、工作模式(Work)

單傳送多接收,一個生產者端,多個消費者端

 

C、釋出訂閱模式(Publish/Subscribe

生產者端傳送訊息,多個消費者同時接收所有的訊息

 

D、路由模式(Routing

生產者按routing key傳送訊息,不同的消費者端按不同的routing key接收訊息

 

E、萬用字元(或主題)模式(Topics ,按topic傳送接收)

生產者端不只按固定的routing key傳送訊息,而是按字串“匹配”傳送,消費者端同樣如此。

符號“#”匹配一個或多個詞,符號“*”僅匹配一個詞。

 

F、死信佇列

 

P傳送訊息經X1路由到Q1,Q1的訊息觸發特定情況,自動把訊息經X2路由到Q2,C直接訊息Q2的訊息。

G、延時佇列

 

延時佇列其實也是配合死信佇列一起用。給佇列新增訊息過時時間(TTL),變成延時佇列。

延時佇列還可以設定不同的過期時間。

二、Windows安裝RabbitMQ

1、下載安裝Erlang框架

連結:https://pan.baidu.com/s/1c3SVYLrryojrZ8Pe4W0UOw
提取碼:0716

2、設定環境變數

 

3、測試是否安裝成功

執行CMD,輸入erl

 

4、下載並安裝rabbitmq-server

連結:https://pan.baidu.com/s/1zcHIIKTjjIlCNytxQnSn_A
提取碼:0716

5、切換目錄

cd C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.16\sbin

 

6、檢視狀態

rabbitmqctl status

 

7、啟動服務

rabbitmq-plugins enable rabbitmq_management

 

8、瀏覽地址

http://127.0.0.1:15672/,進入管理頁面,賬戶密碼都是guest

 

 

 

9、建立使用者

guest賬號預設是不支援遠端連線的,一般服務都不是在本地,所以需要建立使用者。

A、新增使用者

 

B、設定許可權

 

10、常用命令

rabbitmqctl list_connections       ##檢視當前連線

rabbitmqctl list_queues              ##列出所有佇列

rabbitmqctl status                       ##檢視當前佇列資訊

命令設定許可權: rabbitmqctl set_permissions -p "/" kiba "." "." ".*"

相關文章