Tek bir tüketici kullanarak birden fazla RabbitMq kuyruğunu izleyebilen .NET'te yazdığım bir uygulama var.Tek bir uygulamayı kullanarak birden fazla RabbitMq aboneliğini izleyin
using (IConnection connection = factory.CreateConnection())
{
using (IModel channel = connection.CreateModel())
{
var _consumer = new QueueingBasicConsumer(channel);
string[] list = new string[] { "Queue1", "Queue2", "Queue3", "Queue4" };
_consumer = new QueueingBasicConsumer(channel);
foreach (string currQueueName in list)
{
channel.QueueDeclare(currQueueName, false, false, false, null);
channel.BasicConsume(currQueueName, true, _consumer);
}
while (true)
{
var ea = (BasicDeliverEventArgs)_consumer.Queue.Dequeue();
var body = ea.Body;
var message = Encoding.UTF8.GetString(body);
Console.WriteLine(" [x] Received {0}", message);
ProcessMessage(message);
}
}
}
Temelde, sadece birden kuyruklar genelinde iş dağıtmak, ancak yalnızca tek bir uygulama hepsini (ya da birden fazla uygulama dağıtılabilir tüketen ve aynı işlevi yerine edebilmek istiyorum: Örneğin
).
Kuyrukları sıraya göre yaymaya çalışıyorum, böylece tüketiciler kuyruklarda eşit işlerde çalışıyorlar.
Bu, Bunny veya yerel Ruby sürücüsünü kullanarak mümkün mü?
Bunny kullanarak birden çok kuyruktan yararlanmak mümkün mü? Evet. Bunny öğreticiler burada http://www.rabbitmq.com/tutorials/tutorial-one-ruby.html –