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