Back to questions
Junior — Middle
72
Каким образом выбрать очередь для отправки сообщений в RabbitMQ?
Companies where asked
Медиалогия
Answer from AI
sobes.tech AI
В RabbitMQ выбор очереди для отправки сообщения происходит при публикации через указание имени очереди или обменника (exchange) и ключа маршрутизации (routing key).
Если вы отправляете сообщение напрямую в очередь, то указываете имя очереди в методе BasicPublish.
Пример на C# с использованием RabbitMQ.Client:
var factory = new ConnectionFactory() { HostName = "localhost" };
using(var connection = factory.CreateConnection())
using(var channel = connection.CreateModel())
{
string queueName = "myQueue";
channel.QueueDeclare(queue: queueName, durable: false, exclusive: false, autoDelete: false, arguments: null);
string message = "Hello RabbitMQ!";
var body = Encoding.UTF8.GetBytes(message);
// Отправка сообщения в указанную очередь
channel.BasicPublish(exchange: "", routingKey: queueName, basicProperties: null, body: body);
}
Если используется обменник, то выбор очереди зависит от настроек биндинга между exchange и очередями, а при публикации указывается exchange и routing key, по которому сообщение попадёт в нужную очередь.