文章詳情頁
java - 并發操作下關于隊列的疑問?
瀏覽:101日期:2023-10-26 15:47:21
問題描述
常用的rabbitmq,activeMq隊列,多個消費者或者多個線程去取隊列中的數據,會不會出現不同消費者同時到達取到同一個數據的情況?目前只知道redis由于是單線程的,做隊列的時候可以避免這種情況。
問題解答
回答1:消息隊列的發布訂閱模式有多種,有一個消息多個消費者都能獲取到的模式,有一個消息發送到指定消費者模式,選擇合適你自己的~你說的這種可以用rabbitmq的direct模式
回答2:任何消息隊列,只要自稱是消息隊列服務的,都會保證這點,無須擔心。但要注意的是,消息隊列有兩種模式,生產者消費者模式和發布者訂閱者模式,前者保證每條消息只會被消費一次,后者保證每條消息能達到所有的訂閱者,因此被消費的次數不確定。
標簽:
java
相關文章:
1. javascript - axios請求回來的數據組件無法進行綁定渲染2. javascript - main head .intro-text{width:40%} main head{display:flex}為何無效?3. java - 在用戶不登錄的情況下,用戶如何添加保存到購物車?4. javascript - JS變量被清空5. javascript - jQuery post()方法,里面的請求串可以轉換為GBK編碼么?可以的話怎樣轉換?6. Python中使用超長的List導致內存占用過大7. css3 - 純css實現點擊特效8. 安全性測試 - nodejs中如何防mySQL注入9. javascript - 關于apply()與call()的問題10. javascript - 有適合開發手機端Html5網頁小游戲的前端框架嗎?
排行榜
