文章詳情頁
java - 并發操作下關于隊列的疑問?
瀏覽:96日期:2023-10-26 15:47:21
問題描述
常用的rabbitmq,activeMq隊列,多個消費者或者多個線程去取隊列中的數據,會不會出現不同消費者同時到達取到同一個數據的情況?目前只知道redis由于是單線程的,做隊列的時候可以避免這種情況。
問題解答
回答1:消息隊列的發布訂閱模式有多種,有一個消息多個消費者都能獲取到的模式,有一個消息發送到指定消費者模式,選擇合適你自己的~你說的這種可以用rabbitmq的direct模式
回答2:任何消息隊列,只要自稱是消息隊列服務的,都會保證這點,無須擔心。但要注意的是,消息隊列有兩種模式,生產者消費者模式和發布者訂閱者模式,前者保證每條消息只會被消費一次,后者保證每條消息能達到所有的訂閱者,因此被消費的次數不確定。
標簽:
java
相關文章:
1. javascript - 如何讓移動端網頁的輸入框固定在底部?2. MySQL中無法修改字段名的疑問3. angular.js - angularjs的自定義過濾器如何給文字加顏色?4. angular.js - angular內容過長展開收起效果5. Matlab和Python編程相似嗎,有兩種都學過的人可以說說嗎6. javascript - 微信小程序封裝定位問題(封裝異步并可能多次請求)7. 大家好,請問在python腳本中怎么用virtualenv激活指定的環境?8. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應9. python的前景到底有大?如果不考慮數據挖掘,機器學習這塊?10. javascript - 微信小程序限制加載個數
排行榜
