3.Work Queues

标题 :
3.Work Queues
目录 :
RabbitMQ
序号 :
3

        var channel1 = _connection.CreateModel();
        channel1.BasicQos(0, 1, false);
        channel1.QueueDeclare(queue: "hello",
            durable: false,
            exclusive: false,
            autoDelete: false,
            arguments: null);
        var consumer = new EventingBasicConsumer(channel1);
        consumer.Received += (model, ea) =>
        {
            var body = ea.Body;
            var message = Encoding.UTF8.GetString(body);
            Console.WriteLine(" [x] Received {0} From consumer1  " +DateTime.Now, message);
            Thread.Sleep(300);
            channel1.BasicAck(ea.DeliveryTag, false);
        };
        channel1.BasicConsume(queue: "hello", false, consumer: consumer);




var channel2 = _connection.CreateModel();
channel2.BasicQos(0, 1, false);
channel2.QueueDeclare(queue: "hello",
durable: false,
exclusive: false,
autoDelete: false,
arguments: null);
var consumer2 = new EventingBasicConsumer(channel2);
consumer2.Received += (model, ea) =>
{
var body = ea.Body;
var message = Encoding.UTF8.GetString(body);
Console.WriteLine(" [x] Received {0} From consumer2 " + DateTime.Now, message);
Thread.Sleep(1000);

channel2.BasicAck(ea.DeliveryTag,false);
};
channel2.BasicConsume(queue: "hello", false, consumer: consumer2);

Console.WriteLine(" Press [enter] to exit.");
Console.ReadLine();
}
}
}

![](https://www.showdoc.cc/server/api/common/visitfile/sign/56914cf30a2ac84904c2fa431b727b97?showdoc=.jpg)
在上代码中,consumer1的消费能力高,consumer2的消费能力低.在我们设定好Qos和手动确认后,两个consumer的消费比例大约是3:1而不在是之前的1:1
​
###引用链接
https://fanyi.baidu.com/translate?aldtype=16047&query=&keyfrom=baidu&smartresult=dict&lang=auto2zh#auto/zh/
https://www.throwable.club/2018/11/28/rabbitmq-extension-consumer-prefetch/#%E6%B6%88%E8%B4%B9%E8%80%85%E6%B6%88%E6%81%AF%E9%A2%84%E8%AF%BB%E5%8F%96
请尽量按照自己期望的生活 email:18980489167@189.cn
原文地址:https://www.cnblogs.com/gytangyao/p/11406087.html