rabbitMQ的隨筆記錄

2021-09-12 14:41:26 字數 1186 閱讀 9835

(rabbitmq windows)

安裝好erlang ,需要配置系統環境變數:

erlang_home:erlang 安裝根目錄

path:%erlang_home%\bin;%rabbitmq_server_home%\bin;

rabbitmq安裝完成開啟外掛程式

rabbitmq_managemen是管理後台的外掛程式、我們要開啟這個外掛程式才能通過瀏覽器訪問登入頁面;

進入rabbitmq 安裝目錄下找到sbin目錄下:rabbitmq-plugins enable rabbitmq_managemen;開啟後台管理;

rabbitmq-server start (服務啟動)

訊息投遞服務,訊息包含兩部分內容:有效載荷(payload)和標籤(label),發後即忘(fire-and-forget)單向通訊方式

1.使用通道傳輸資料,通道是建立在真實tcp連線內的虛擬連線,每條tcp連線上通道是無限制的。解決併發開銷問題

2.訊息分發,以round-robin迴圈方式傳送給消費方

3.訊息路由:交換器、路由、繫結 訊息發布到交換器,通過佇列路由鍵繫結佇列到交換器,訊息到達交換器後,rabbitmq將訊息路由鍵與佇列路由鍵匹配,然後投遞到相應佇列

direct:如果路由鍵完全匹配,訊息就被投遞到相應的佇列

fanout:如果交換器收到訊息,將會廣播到所有繫結的佇列上

topic:可以使來自不同源頭的訊息能夠到達同乙個佇列 # 表示乙個或多個 key.# 匹配乙個字元 key.

headers:無路由鍵,通過訊息頭部匹配(any/all)選擇是否投遞訊息

4.訊息持久化:設定交換器/佇列屬性 durable=true;

如果訊息想要從rabbit崩潰中恢復,那麼訊息必須:

在訊息發布前,通過把它的 「投遞模式」 選項設定為2(持久)來把訊息標記成持久化

將訊息傳送到持久交換器

訊息到達持久佇列

容災恢復,從日誌檔案重播

5.ack --confirm 確認機制—通過通道監聽返回實現非同步操作

mandatory和immediate是amqp協議中basic.pulish方法中的兩個標誌位,

mandatory:針對佇列,路由不到佇列及投遞不到佇列,則返回給生產者

immediate:針對消費者,及時通訊,否則basic.return 返回給生產者(高版本不在使用,利用tts取代)

hive的隨筆記錄

1,當hive的sql語句select有資料,但count顯示為0 答 這個主要是元資料裡沒有統計,所以取不出來統計後的條數,解決方法有兩種 set hive.compute.query.using.stats false 這個配置一般在hive site.xml有配置,不從元資料裡取值,重新計算,...

Android 隨筆記錄

安卓環境變數配置 系統變數 變數名 android home 變數值 d android android sdk windows path中增加 android home platform tools android home tools 返回 override public boolean onk...

Task async await隨筆記錄

using system using system.collections.generic using system.linq using system.text using system.threading using system.threading.tasks namespace taskco...