簡單談談ActiveMQ的兩種消費方式

2021-08-08 22:02:21 字數 557 閱讀 9866

activemq 有兩種消費方式,一種是q,一種是訂閱式的。用

q的方式提供生產的話始終儲存在服務端,直到乙個消費者把他消費完才可以返回乙個狀態。然後就是訂閱的方式可以供多個消費者同時消費。我們當時用的是訂閱式消費服務。因為訂閱式服務它接受過來的訊息可以有多個平台同時接收,比如多個地方,多個方法同時接收這個值。

應用場景

我們在做專案中solr索引庫同步的時候,在

solr

索引庫裡面只要是後台比如說新增一條商品,新增完以後,使用

active mq

傳送一條訊息,然後消費方可以獲取該訊息,然後可以把商品資訊進行相應更新,更新到索引庫裡面。還可以去訂單裡面做比如說我的使用者把訂單提交了,把提交的訂單資訊提交到

active mq

裡面,然後消費方接收到

mq資訊,然後把

json

串解析出來,儲存萬訂單資訊,為了解決高併發,把資訊儲存到訂單表裡面去或者儲存到訂單項表包括物流資訊表。這時候用到了

mq裡面的

topics

可以傳送多個訂閱訊息,讓別的地方進行接收,大概就是這麼個流程

activeMQ兩種模式比較

1 工作模式上來說,主題採用訂閱發布模式,如果沒有訂閱者訊息就會被丟棄 如果有多個訂閱者,則 就會被多個訂閱者接收 佇列採用一對一的模式,如果當前訊息沒有消費者,則該 訊息也不會丟棄,如果有多個消費者,那麼該訊息只能被乙個消費者消費,同時要求 消費者傳送ack確認資訊 2 從有無狀態上來看,主題是無...

ActiveMQ 兩種模式與持久化

兩種模式 point to point destination queue 生產者先推送訊息到訊息中心,消費者讀取訊息消費 每個訊息只能有乙個消費者 publish and subscribe destination topic 訂閱者先向訊息中心訂閱topic,發布者推送訊息到訊息中心,每個訂閱者...

ActiveMQ的兩種訊息模式,主題 佇列

1 開發的模式流程如下 2 佇列模式queue 如果生產者產生了100條訊息,那麼兩個消費同時在的話,會分工合作來接收這100條訊息。就是每個消費者接收到50條來處理。3 主題模式topic 如果生產者產生了100條訊息,消費者在還沒有訂閱這個主題之前,是不會接收到這100條訊息的。消費者只有在訂閱...