Конкуренция потребителей в массовых перевозках с помощью RabbitMQ

Я реализовал простой набор издатель/потребитель с помощью MassTransit и хочу, чтобы потребители читали сообщения из одной и той же очереди. Однако, когда я запускаю его, я вижу, что большая часть сообщений отправляется в очередь ошибок, а не потребляется. Из обсуждений, которые я видел(SO , Forum ), это должно быть очень просто с RabbitMQ (просто указать на ту же очередь ), но это не работает. Должна ли быть установлена ​​дополнительная конфигурация?

Вот мой издатель

public class YourMessage { public string Text { get; set; } }
public class Program
{
    public static void Main()
    {
        Console.WriteLine("Publisher");
        Bus.Initialize(sbc =>
        {
            sbc.UseRabbitMqRouting();
            sbc.ReceiveFrom("rabbitmq://localhost/test_queue");
        });
        var x = Console.Read();
        for (var i = 0; i <= 1000; i++)
        {
            Console.WriteLine("Message Number " + i);
            Bus.Instance.Publish(new YourMessage { "Message Number " + i });
        }
    }
}

И мой потребитель

public class YourMessage { public string Text { get; set; } }
public class Program
{
    public static void Main()
    {
        Console.WriteLine("Consumer");
        Bus.Initialize(sbc =>
        {
            sbc.UseRabbitMqRouting();
            sbc.ReceiveFrom("rabbitmq://localhost/test_queue");
            sbc.Subscribe(subs =>
            {
                var del = new Action,YourMessage>((context, msg) =>
                {
                    Console.WriteLine(msg.Text);
                });
                subs.Handler(del);
            });
        });
        while (true) { }
    }
}

7
задан Community 23 May 2017 в 11:52
поделиться