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