文章詳情頁
java - 并發操作下關于隊列的疑問?
瀏覽:87日期:2023-10-26 15:47:21
問題描述
常用的rabbitmq,activeMq隊列,多個消費者或者多個線程去取隊列中的數據,會不會出現不同消費者同時到達取到同一個數據的情況?目前只知道redis由于是單線程的,做隊列的時候可以避免這種情況。
問題解答
回答1:消息隊列的發布訂閱模式有多種,有一個消息多個消費者都能獲取到的模式,有一個消息發送到指定消費者模式,選擇合適你自己的~你說的這種可以用rabbitmq的direct模式
回答2:任何消息隊列,只要自稱是消息隊列服務的,都會保證這點,無須擔心。但要注意的是,消息隊列有兩種模式,生產者消費者模式和發布者訂閱者模式,前者保證每條消息只會被消費一次,后者保證每條消息能達到所有的訂閱者,因此被消費的次數不確定。
標簽:
java
相關文章:
1. python - 我在使用pip install -r requirements.txt下載時,為什么部分能下載,部分不能下載2. mysql - jdbc的問題3. python - 如何正則字符串中的所有漢字4. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處5. mysql - 如何減少使用或者不用LEFT JOIN查詢?6. python - 編碼問題求助7. mysql 5個left關鍵 然后再用搜索條件 幾千條數據就會卡,如何解決呢8. 視頻文件不能播放,怎么辦?9. python - oslo_config10. 圖片鏈接的地址怎么獲得的
排行榜
