隊列和topic模式

消息生產者生產消息發送到queue中,然後消息消費者從queue中取出並且消費消息。
消息被消費以後,queue中不再有存儲,所以消息消費者不可能消費到已經被消費的消息。Queue支持存在多個消費者,但是對一個消息而言,只會有一個消費者可以消費。

1.2、發佈/訂閱:Topic,可以重複消費
消息生產者(發佈)將消息發佈到topic中,同時有多個消息消費者(訂閱)消費該消息。和點對點方式不同,發佈到topic的消息會被所有訂閱者消費。

支持訂閱組的發佈訂閱模式:
發佈訂閱模式下,當發佈者消息量很大時,顯然單個訂閱者的處理能力是不足的。實際上現實場景中是多個訂閱者節點組成一個訂閱組負載均衡消費topic消息即分組訂閱,這樣訂閱者很容易實現消費能力線性擴展。可以看成是一個topic下有多個Queue,每個Queue是點對點的方式,Queue之間是發佈訂閱方式

2.1、點對點模式
生產者發送一條消息到queue,一個queue可以有很多消費者,但是一個消息只能被一個消費者接受,當沒有消費者可用時,這個消息會被保存直到有 一個可用的消費者,所以Queue實現了一個可靠的負載均衡。
2.2、發佈訂閱模式
發佈者發送到topic的消息,只有訂閱了topic的訂閱者纔會收到消息。topic實現了發佈和訂閱,當你發佈一個消息,所有訂閱這個topic的服務都能得到這個消息,所以從1到N個訂閱者都能得到這個消息的拷貝。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章