常用的rabbitmq,activeMq隊列,多個消費者或多個執行緒去取隊列中的數據,會不會出現不同消費者同時到達取到同一個數據的情況?目前只知道redis由於是單執行緒的,做隊列的時候可以避免這種情況。
认证0级讲师
訊息隊列的發布訂閱模式有多種,有一個訊息多個消費者都能獲取到的模式,有一個訊息發送到指定消費者模式,選擇合適你自己的~你說的這種可以用rabbitmq的direct模式
任何訊息佇列,只要自稱是訊息佇列服務的,都會保證這點,無須擔心。但要注意的是,訊息隊列有兩種模式,生產者消費者模式和發布者訂閱者模式,前者保證每條訊息只會被消費一次,後者保證每條訊息能達到所有的訂閱者,因此被消費的次數不確定。
訊息隊列的發布訂閱模式有多種,有一個訊息多個消費者都能獲取到的模式,有一個訊息發送到指定消費者模式,選擇合適你自己的~
你說的這種可以用rabbitmq的direct模式
任何訊息佇列,只要自稱是訊息佇列服務的,都會保證這點,無須擔心。但要注意的是,訊息隊列有兩種模式,生產者消費者模式和發布者訂閱者模式,前者保證每條訊息只會被消費一次,後者保證每條訊息能達到所有的訂閱者,因此被消費的次數不確定。