文章詳情頁
java - 并發操作下關于隊列的疑問?
瀏覽:112日期:2023-10-26 15:47:21
問題描述
常用的rabbitmq,activeMq隊列,多個消費者或者多個線程去取隊列中的數據,會不會出現不同消費者同時到達取到同一個數據的情況?目前只知道redis由于是單線程的,做隊列的時候可以避免這種情況。
問題解答
回答1:消息隊列的發布訂閱模式有多種,有一個消息多個消費者都能獲取到的模式,有一個消息發送到指定消費者模式,選擇合適你自己的~你說的這種可以用rabbitmq的direct模式
回答2:任何消息隊列,只要自稱是消息隊列服務的,都會保證這點,無須擔心。但要注意的是,消息隊列有兩種模式,生產者消費者模式和發布者訂閱者模式,前者保證每條消息只會被消費一次,后者保證每條消息能達到所有的訂閱者,因此被消費的次數不確定。
標簽:
java
相關文章:
1. PHP中的$this代表當前的類還是方法?2. docker綁定了nginx端口 外部訪問不到3. android - 如何實現類似今日頭條,網易新聞這樣的整體布局?4. android - 項目時間長了,字符串文件strings有的字符串可能是多余的,有沒有辦法快速檢測那些是沒用的?5. javascript - Storage中removeItem在什么情況下使用6. pdo 寫入到數據庫的內容為中文的時候寫入亂碼7. 在MySQL中新增字段時,報錯??8. mysql - 如何把數據庫A表中的title數據 復制到同庫數據表B的title里面9. mysql普通索引與復合索引10. mysql語句編寫
排行榜
