rabbitMq 基礎知識總結

2021-10-03 12:45:44 字數 1431 閱讀 5326

rabbitmq 高階訊息佇列協議 elong 語言開發的

幾個重要的物件

server 也叫boser 就是伺服器

connectionfactory :是connection的製造工廠

connection:  封裝了rabbitmq的socket鏈結部分的邏輯

channel:管道我們的大部分業務的操作 queue exchange 訊息的發布和訂閱 都在這裡完成的

vritual host: 虛擬主機虛擬的主機與主機之間的隔離  一般乙個專案乙個vritual host 模式是

exchange 交換機的型別

direct exchange 處理路由鍵  交換機根據路由鍵完全匹配 路由鍵是tag 則tag.man tag.min 都不會路由 

fanout exchange  不處理路由鍵 直接將訊息**到所有與交換機繫結的佇列

topic exchange   路由鍵模式匹配  根據萬用字元匹配到佇列

headers exchange  根據鍵值對去匹配的

工作模式

1.****** 簡單的模式 一對一

2.work 工作模式  一對多  多個消費者是競爭的關係

3.訂閱模式  一對多  通過交換機topic exchange 來實現 

4.廣播模式 一對多 所有繫結交換機的佇列都會傳送  fannout exchange 

佇列的屬性:

ttl 訊息的過期時間

auto expire 生存時間多少時間內沒有使用 就刪除掉

max length  佇列的最大條數

dead letter 死心交換機  死信路由鍵  

priority     優先順序 

延遲佇列: 佇列設定過期時間,過期之後放到死信佇列,監聽死信佇列 可以實現延遲佇列

集群模式 普通模式  遠端模式  映象模式

普通模式:預設的模式就是普通模式 也叫主備模式,但是備份節點只可以提供讀的功能,訊息的實體是儲存在乙個節點上的,

當消費者訪問備份節點的時候備份節點去請求主節點,將主節點的訊息實體**給消費者.主節點和備份節點儲存有相同的元

資料,但是訊息實體只在乙個節點上儲存. 在資料量和吞吐量不大的時候可以用這種模式.

缺點:如果訊息所在的節點掛掉了,備份節點就無法獲取到主節點未被消費的訊息.如果訊息持久化到磁碟要等到主節點恢復後才可以繼續讀

映象模式:需要將佇列變成映象佇列,存在與多個節點,每個節點上都存有訊息實體.任意乙個節點掛掉都不會影響訊息的消費,更加穩定可靠 高可用

缺點:多個節點之間要進行訊息的同步,網路 io 消耗比較大

RabbitMQ基礎知識

什麼是mq?mq全稱為message queue,訊息佇列 mq 是一種應用程式對應用程式的通訊方法。mq是消費 生產者模型的乙個典型的代表,一端往訊息佇列中不斷寫入訊息,而另一端則可以讀取佇列中的訊息。rabbitmq是mq的一種。下面詳細介紹一下rabbitmq的基本概念。1 佇列 生產者 消費...

RabbitMQ基礎知識

rabbitmq簡介 rabbitmq是乙個由erlang開發的amqp advanved message queue protocol 的開源實現。核心概念 message 訊息,訊息是不具名的,它由訊息頭和訊息體組成。訊息體是不透明的,而訊息頭則由一系列的可選屬性組成,這些屬性包括routing...

RabbitMQ基礎知識詳解

什麼是mq?mq全稱為message queue,訊息佇列 mq 是一種應用程式對應用程式的通訊方法。mq是消費 生產者模型的乙個典型的代表,一端往訊息佇列中不斷寫入訊息,而另一端則可以讀取佇列中的訊息。rabbitmq是mq的一種。下面詳細介紹一下rabbitmq的基本概念。1 佇列 生產者 消費...