1. 程式人生 > >訊息佇列五種模式介紹

訊息佇列五種模式介紹

簡單模式Hello World 功能:一個生產者P傳送訊息到佇列Q,一個消費者C接收 在這裡插入圖片描述 工作佇列模式Work Queue 功能:一個生產者,多個消費者,每個消費者獲取到的訊息唯一,多個消費者只有一個佇列 任務佇列:避免立即做一個資源密集型任務,必須等待它完成,而是把這個任務安排到稍後再做。我們將任務封裝為訊息並將其傳送給佇列。後臺執行的工作程序將彈出任務並最終執行作業。當有多個worker同時執行時,任務將在它們之間共享。兩個消費者序列工作。 在這裡插入圖片描述 釋出/訂閱模式 Publish/Subscribe 功能:一個生產者傳送的訊息會被多個消費者獲取。一個生產者、一個交換機、多個佇列、多個消費者 生產者:可以將訊息傳送到佇列或者是交換機。 消費者:只能從佇列中獲取訊息,獲取的訊息都一樣。 如果訊息傳送到沒有佇列繫結的交換機上,那麼訊息將丟失。 交換機不能儲存訊息,訊息儲存在佇列中 應用場景:微信群、公眾號。 在這裡插入圖片描述

路由模式Routing 說明:生產者傳送訊息到交換機並且要指定路由key,消費者將佇列繫結到交換機時需要指定路由key 在這裡插入圖片描述 萬用字元(主題)模式Topic 說明:生產者P傳送訊息到交換機X,type=topic,交換機根據繫結佇列的routing key的值進行萬用字元匹配; 符號#:匹配一個或者多個詞 lazy.# 可以匹配 lazy.irs或者lazy.irs.cor 符號*:只能匹配一個詞 lazy.* 可以匹配 lazy.irs或者lazy.cor