MQ RabbitMQ學習 二 基本概念

2022-01-31 14:38:34 字數 1043 閱讀 3365

(1)broker:經紀人。提供一種傳輸服務,維護一條從生產者到消費者的傳輸線路,保證訊息資料能按照指定的方式傳輸。粗略的可以將圖中的rabbitmq server當作broker。

(2)exchange:訊息交換機。指定訊息按照什麼規則路由到哪個佇列queue。

(3)queue:訊息佇列。訊息的載體,每條訊息都會被投送到乙個或多個佇列中。

(4)binding:繫結。作用就是將exchange和queue按照某種路由規則繫結起來。

(5)routingkey:路由關鍵字。exchange根據routingkey進行訊息投遞。

(6)vhost:虛擬主機。乙個broker可以有多個虛擬主機,用作不同使用者的許可權分離。乙個虛擬主機持有一組exchange、queue和binding。

(7)producer:訊息生產者。主要將訊息投遞到對應的exchange上面。一般是獨立的程式。

(8)consumer:訊息消費者。訊息的接收者,一般是獨立的程式。

(9)channel:訊息通道,也稱通道。在客戶端的每個連線裡可以建立多個channel,每個channel代表乙個會話任務。

(1)客戶端連線到訊息佇列伺服器,開啟乙個channel。

(2)客戶端宣告乙個exchange,並設定相關屬性。

(3)客戶端宣告乙個queue,並設定相關屬性。

(4)客戶端使用routing key,在exchange和queue之間建立好binding關係。

(5)生產者客戶端投遞訊息到exchange。

(6)exchange接收到訊息後,就根據訊息的routingkey和已經設定的binding,進行訊息路由(投遞),將訊息投遞到乙個或多個佇列裡。

(7)消費者客戶端從對應的佇列中獲取並處理訊息。

生產者主要做的是:建立連線-->建立channel-->建立交換機物件-->傳送訊息

消費者主要做的是:建立連線-->建立channel-->建立交換機-->建立佇列-->繫結交換機/佇列/路由鍵-->接收訊息

LUA學習(二) 基本語法

eg1 print hello world 輸出函式 hello world lua語句是解釋語言,邊編譯邊執行,每句不用分號結束。eg2 變數有值的時候才有型別,否則變數本身是無型別的 a 1 b abc c d print print type a print type b print type...

ROS RViz基本學習筆記(二)

目標 將攝像頭影象資訊加入到 一 中資料中 環境 ubuntu 16.04 ros kinetic opencv2.4.9 方法 這裡需要publish的型別為camera image 中的型別,可以直接通過image現有 cv bridge cvimage 函式實現影象流的傳遞 在 一 的基礎上,...

Java學習(二) 基本操作

一 陣列基本操作 1.直接選擇排序 描述 以乙個角標的元素和其他元素進行比較,在內迴圈第一次結束,最值出現在頭角標位置上。public static voidselectsort intarr 2.氣泡排序 描述 相鄰兩個元素進行比較,如果滿足條件就進行位置置換。內迴圈結束一次,最值出現在尾角標位置...