2017-02-20 26 views
0

我在我的C#控制檯應用程序下面的名號代碼從RabbitMQ的隊列中排出的消息:我們可以有RabbitMQ的隊列中的多個用戶?

consumer = new EventingBasicConsumer(_channel); 
consumer.Received += (o, e) => 
{ 
    //onMessageReceived() 
}; 


consumer.Shutdown += (oo, oe) => 
{ 
    //Handle Subscribe event 
}; 
_channel.BasicConsume(QueueName, false ,consumer); 

我有運行模擬多個用戶的情況下這個控制檯應用程序的兩個實例。我一直在給第一個用戶發送消息,第二個用戶總是閒置。我們可以在RabbitMQ隊列上擁有同一個隊列的多個用戶嗎?

+1

你試圖發送更多的消息,則一個消費者可以辦理?嘗試填寫隊列並開始用戶詞,並檢查您的訂戶發生了什麼。 RabbitMQ中的一個隊列可以有多個訂閱者。 – Johansson

回答

1

是的,你可以,但如果控制檯應用程序正在使用來自同一隊列的消息,它們會相互競爭。所以隊列中的消息只會被其中一個消耗。

如果你想有一個接收相同的消息更多的用戶,你需要定義每個用戶不同的隊列,勢必交易所(其中消息被通過),應該是扇出話題(不直接)。

更多信息herehere

相關問題