訊息佇列介紹

2022-02-20 15:02:47 字數 2432 閱讀 6065

1.簡介

一、rabbitmq 訊息佇列介紹

rabbitmq也是訊息佇列,那rabbitmq和之前python的queue有什麼區別麼?

如果是兩個完全獨立的python程式,也是不能用上面兩個queue進行互動的,或者和其他語言互動有哪些實現方式呢。 【disk、socket、其他中介軟體】這裡中介軟體不僅可以支援兩個程式之間互動,可以支援多個程式,可以維護好多個程式的佇列。

像這種公共的中介軟體有好多成熟的產品: rabbitmq zeromq activemq ……

rabbitmq:erlang語言 開發的。 python中連線rabbitmq的模組:pika 、celery(分布式任務佇列) 、haigha 可以維護很多的佇列

rabbitmq 教程官網:

幾個概念說明:

首先確定你的window電腦是32位還是64位,以下的安裝以window 64位電腦舉例。

1.2 執行行erlang/otp(otp_win64_20.0.exe)的安裝步驟,按下一步

執行安裝 rabbit mq server windows installer (v3.6.12)   rabbitmq-server-3.6.12.exe

1.4 檢查rabbitmq是否執行正常

開啟命令列命令列,進入rabbitmq的安裝目錄: cd rabbitmq_server-3.5.2\sbin

,輸入 rabbitmqctl status , 如果出現以下的圖,說明安裝是成功的,並且說明現在rabbitmq server已經啟動了,執行正常.

具體的安裝以上兩個exe檔案的步驟可以參考:

1.5 -- 接下來我們需要安裝 rabbitmqweb的管理外掛程式,接著上面繼續輸入以下命令(rabbitmq-plugins enable rabbitmq_management),回車後可以到以下輸出:

1.6 -- 此時,已經可以通過  位址來訪問web管理介面了,預設的賬戶和密碼均是 guest。但實際使用時可能需要重新乙個新的管理賬戶。下面即繼續通過命令來建立新的賬戶並且授予管理員的許可權:

--  檢視預設的賬戶列表資訊(輸入:rabbitmqctl,bat list_users):

1.7 --  新建賬戶:rabbitmqctl  add_user  username  password (user1-123)

1.8 -- 授予管理員許可權(輸入:rabbitmqctl.bat set_permissions -p /  user1 ".*" ".*" ".*"):

rabbitmqctl  set_user_tags  user  tag

user為使用者名稱, tag為角色名(對應於上面的administrator,monitoring,policymaker,management,或其他自定義名稱)。

1.9---- 至此安裝過程均已完成,下面就可以使用剛建立的賬戶登入進行管理了.

三,通俗的解釋:

適用場景

意義:說白了就是產生資料的和消費資料的解耦合。就像是個大魚塘,放魚的不用管抓魚的。抓魚的也不用管放魚的。

四,pycharm中安裝pika

4.1 setting中點+

4.2 搜尋包

4.3 安裝成功

訊息佇列介紹

訊息佇列 message queue,簡稱mq 指儲存訊息的乙個容器,本質是個佇列。訊息 message 是指在應用之間傳送的資料,訊息可以非常簡單,比如只包含文字字串,也可以更複雜,可能包含嵌入物件。訊息佇列 message queue 是一種應用間的通訊方式,訊息傳送後可以立即返回,有訊息系統來...

Beanstalkd訊息佇列介紹

beanstalkd是乙個高效能,輕量級的分布式記憶體佇列 1 支援優先順序 支援任務插隊 2 延遲 實現定時任務 3 持久化 定時把記憶體中的資料刷到binlog日誌 4 預留 把任務設定成預留,消費者無法取出任務,等某個合適時機再拿出來處理 5 任務超時重發 消費者必須在指定時間內處理任務,如果...

訊息佇列屬性及常見訊息佇列介紹

訊息佇列是在訊息的傳輸過程中儲存訊息的容器,用於接收訊息並以檔案的方式儲存,乙個佇列的訊息可以同時被多個訊息消費者消費。分布式訊息服務dms則是分布式的佇列系統,訊息佇列中的訊息分布儲存,且每條訊息儲存多個副本,以實現高可用性,如下圖所示。一般來說,訊息佇列具有如下屬性 訊息順序 普通佇列支援 分割...