Rabbitmq整理

RabbitMQ學習總結
1.隊列聲明參數介紹 channel.QueueDeclare(queue: "queueName", durable: false, exclusive: false, autoDelete: false, arguments: null);
第一個參數表示隊列名稱.
第二個參數爲是否持久化(true表示是,隊列將在服務器重啓時生存).
第三個參數爲是否是獨佔隊列(創建者可以使用的私有隊列,斷開後自動刪除).
第四個參數爲當所有消費者客戶端連接斷開時是否自動刪除隊列.
第五個參數爲隊列的其他參數.
2.聲明的隊列,在服務器中如果不存在了,會自動創建。而消息的內容是字節數組,在使用時,注意編碼問題。
3.在rabbitmq中,exchange有4個類型:direct,topic,fanout。
4.從 AMQP 協議可以看出,Queue、Exchange 和 Binding 構成了 AMQP 協議的核心
    Producer:消息生產者,即投遞消息的程序。
    Broker:消息隊列服務器實體。
    Exchange:消息交換機,它指定消息按什麼規則,路由到哪個隊列。
    Binding:綁定,它的作用就是把 Exchange 和 Queue 按照路由規則綁定起來。
    Queue:消息隊列載體,每個消息都會被投入到一個或多個隊列。
    Consumer:消息消費者,即接受消息的程序。
5.Binding 表示 Exchange 與 Queue 之間的關係,我們也可以簡單的認爲隊列對該交換機上的消息感興趣,綁定可以附帶一個額外的參數 RoutingKey。Exchange 就是根據這個 RoutingKey 和當前 Exchange 所有綁定的 Binding 做匹配,如果滿足匹配,就往 Exchange 所綁定的 Queue 發送消息,這樣就解決了我們向 RabbitMQ 發送一次消息,可以分發到不同的 Queue。RoutingKey 的意義依賴於交換機的類型。
6.在AMQP模型中,Exchange是接受生產者消息並將消息路由到消息隊列的關鍵組件。ExchangeType和Binding決定了消息的路由規則.
7.消息屬性Properties
Delivery mode: 是否持久化,1 - Non-persistent,2 - Persistent
content_type : 消息內容的類型
content_encoding: 消息內容的編碼格式
expiration: 消息的失效時間
message_id: 消息id
timestamp:消息的時間戳
type: 類型
user_id: 用戶id
app_id: 應用程序id
cluster_id: 集羣id

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章