rabbitmq的核心概念為以下:
1.訊息:由訊息頭和訊息體組成。訊息體是不透明的,訊息頭是由一系列可選屬性組成,包括路由鍵、優先權、是否持久化等
2.交換器:用來接收生產者傳送的訊息,並將訊息路由給伺服器中的佇列,有四種型別:direct(預設)、fanout、topic、headers
direct:路由鍵與交換器繫結的訊息佇列名完全匹配
fanout:不處理路由鍵,該交換器會把訊息**到所有與該交換器繫結的所有佇列(速度最快)
topic:匹配分配訊息,二個萬用字元,#匹配0個或者多個單詞,*匹配乙個單詞
3.繫結:用於訊息佇列和交換器之間的關聯,乙個繫結就是基於路由鍵將交換器和訊息佇列連線起來的路由規則
4.訊息佇列:用來儲存訊息直到傳送給消費者
5.網路連線:比如乙個tcp連線
6.通道:是建立在真實的tcp連線內的虛擬連線,因為建立和銷毀tcp是非常昂貴的開銷,所以引入通道,已服用一條tcp連線
總結:訊息生產者將訊息傳送給訊息**,訊息**的交換器,結合訊息的路由鍵產生的繫結規則,傳送到對應訊息佇列,等待消費者讀取訊息
訊息佇列Rabbitmq
rabbitmq server rabbitmqctl reset rabbitmqctl stop rabbitmqctl stop rabbitmqctl list users rabbitmqctl list queues rabbitmqctl add user user name user...
訊息佇列RabbitMQ
這是乙個很嚴肅的問題。系統之間解除耦合,可以讓不同語言編寫的系統通訊互動 保證伺服器負載不會飆公升。高大上一點就是流量削峰。讓程式變成非同步,提高響應速度。把費時任務放到另乙個程序或執行緒去執行。redis實現 剛開始學習redis時,一看這個鍊錶不就是給佇列準備的嗎?所以,一心扎進去,要寫個佇列出...
RabbitMQ訊息佇列
訊息發布接收流程 接收訊息 工作模式 publish subscribe 發布訂閱模式 發布訂閱publish subscribe和工作模式work queues的區別 routing 路由模式 區別 topics 區別 header 宣告佇列 bean queue inform sms publi...