Topic與Queue


總結自:https://blog.csdn.net/qq_21033663/article/details/52458305

隊列(Queue)和主題(Topic)是JMS支持的兩種消息傳遞模型:

1、點對點(point-to-point,簡稱PTP)Queue消息傳遞模型:

消息目的地的類型是隊列,消息首先被傳送至消息服務器端特定的隊列中,然后從此對列中將消息傳送至對此隊列進行監聽的某個消費者

同一個隊列可以關聯多個消息生產者和消息消費者,但一條消息僅能傳遞給一個消息消費者

如果多個消息消費者正在監聽隊列上的消息,JMS消息服務器將根據“先來者優先”的原則確定由哪個消息消費者接收下一條消息

如果沒有消息消費者在監聽隊列,消息將保留在隊列中,直至消息消費者連接到隊列為止。這種消息傳遞模型是傳統意義上的懶模型或輪詢模型。在此模型中,消息不是自動推動給消息消費者的,而是要由消息消費者從隊列中請求獲得。 

         

2、發布/訂閱(publish/subscribe,簡稱pub/sub)Topic消息傳遞模型:

消息目的地類型是主題,消息首先由消息生產者發布至消息服務器中特定的主題中,然后由消息服務器將消息傳送至所有已訂閱此主題的消費者

主題目標也支持長期訂閱。長期訂閱表示消費者已注冊了主題目標,但在消息到達目標時該消費者可以處於非活動狀態。當消費者再次處於活動狀態時,將會接收該消息

如果消費者均沒有注冊某個主題目標,該主題只保留注冊了長期訂閱的非活動消費者的消息。與PTP消息傳遞模型不同,pub/sub消息傳遞模型允許多個主題訂閱者接收同一條消息。JMS一直保留消息,直至所有主題訂閱者都接收到消息為止。

pub/sub消息傳遞模型基本上是一個推模型。在該模型中,消息會自動廣播,消息消費者無須通過主動請求或輪詢主題的方法來獲得新的消息。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM