● 拉模式(點對點消息)
如果沒有消費者在監(jiān)聽隊列,消息將保留在隊列中,直至消息消費者連接到隊列為止。在這種模型中,消息不是自動推動給消息消費者的,而是要由消息消費者從隊列中請求獲得。
● 推模式(發(fā)布訂閱消息)
在該模型中,消息會自動廣播,消息消費者無須通過主動請求或輪詢主題的方法來獲得新的消息。
消息隊列比較核心的應(yīng)用場合有三個:解耦、異步和削峰
在消息隊列中一種常用的消息推送類型是推拉模式
下面是推拉模式的對比:
具體的比較
推模式是服務(wù)器端根據(jù)用戶需要,由目的、按時將用戶感興趣的信息主動發(fā)送到用戶的客戶端
Push模式的主要優(yōu)點是
(1)對用戶要求低,方便用戶獲取需要的信息
(2)及時性好,服務(wù)器端即使地向客戶端推送更行的動態(tài)信息
Push模式的缺點
不能確保發(fā)送成功。Push模式采用廣播方式,只有服務(wù)器端和客戶端在同一個頻道上,推模式才有效,用戶才能接收到信息
沒有信息狀態(tài)跟蹤。Push模式采用開環(huán)控制技術(shù),一個信息推送后的狀態(tài),比如客戶端是否接收等,無從得知
針對性較差。推送的信息可能并不能滿足客戶端的個性化需求。
拉模式是客戶端主動從服務(wù)器端獲取信息
拉模式的主要優(yōu)點是
針對性強,能滿足客戶端的個性化需求
信息傳輸量較小,網(wǎng)絡(luò)中傳輸?shù)闹R客戶端的請求和服務(wù)器端對該請求的響應(yīng)
服務(wù)器端的任務(wù)輕。服務(wù)器端只是被動接收查詢,對客戶端的查詢請求做出響應(yīng)
拉模式的缺點
實時較差,針對于服務(wù)器端實時更新的信息,客戶端難以獲取實時信息
對于客戶端用戶的要求較高,需要對服務(wù)器端具有一定的了解。