Junior — Middle
Դուք արդյոք իրականացրել եք տվյալների փոխանակում RabbitMQ-ով ձեր նախագծերում?
sobes.tech AI
Պատասխան AI-ից
Այո, C# նախագծերում ես օգտագործել եմ RabbitMQ՝ ծառայությունների միջև հաղորդագրությունների փոխանակումը կազմակերպելու համար: Հաճախ օգտագործում էի RabbitMQ.Client գրադարանը՝ կապ հաստատելու և բրոքերի հետ աշխատելու համար:
Պարզ հաղորդագրության ուղարկողի օրինակ:
var factory = new ConnectionFactory() { HostName = "localhost" };
using(var connection = factory.CreateConnection())
using(var channel = connection.CreateModel())
{
channel.QueueDeclare(queue: "task_queue", durable: true, exclusive: false, autoDelete: false, arguments: null);
string message = "Hello RabbitMQ!";
var body = Encoding.UTF8.GetBytes(message);
var properties = channel.CreateBasicProperties();
properties.Persistent = true;
channel.BasicPublish(exchange: "", routingKey: "task_queue", basicProperties: properties, body: body);
Console.WriteLine(" [x] Sent {0}", message);
}
Իմպլեմենտացիայի ժամանակ օգտագործում էի հաղորդագրությունների մշակումը հաստատման (ack) հետ՝ ապահովելու համար մատակարարումների և մշակման հուսալիությունը։