文章詳情頁
java - 并發操作下關于隊列的疑問?
瀏覽:175日期:2023-10-26 15:47:21
問題描述
常用的rabbitmq,activeMq隊列,多個消費者或者多個線程去取隊列中的數據,會不會出現不同消費者同時到達取到同一個數據的情況?目前只知道redis由于是單線程的,做隊列的時候可以避免這種情況。
問題解答
回答1:消息隊列的發布訂閱模式有多種,有一個消息多個消費者都能獲取到的模式,有一個消息發送到指定消費者模式,選擇合適你自己的~你說的這種可以用rabbitmq的direct模式
回答2:任何消息隊列,只要自稱是消息隊列服務的,都會保證這點,無須擔心。但要注意的是,消息隊列有兩種模式,生產者消費者模式和發布者訂閱者模式,前者保證每條消息只會被消費一次,后者保證每條消息能達到所有的訂閱者,因此被消費的次數不確定。
標簽:
java
相關文章:
1. 運行python程序時出現“應用程序發生異常”的內存錯誤?2. 在mac下出現了兩個docker環境3. 利用IPMI遠程安裝centos報錯!4. spring-mvc - spring-session-redis HttpSessionListener失效5. javascript - QQ第三方登錄的問題6. 測試自動化html元素選擇器元素ID或DataAttribute [關閉]7. javascript - node得到req不能得到boolean8. javascript - 最近用echarts做統計圖時遇到兩個問題!!9. java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統有創建日志文件,不寫入日志信息。10. javascript - 在 model里定義的 引用表模型時,model為undefined。
排行榜

網公網安備