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 佇列 生產者 消費...