Sobes.tech
Junior — Middle

Loyihalaringizda RabbitMQ yordamida ma'lumot almashinuvi amalga oshirdingizmi?

sobes.tech AI

AIdan javob

Ha, C# loyihalarida RabbitMQ'dan xizmatlar o'rtasida xabar almashishni tashkil qilish uchun foydalanardim. Odatda RabbitMQ.Client kutubxonasidan foydalanib, broker bilan ulanish va ishlashni amalga oshirardim.

Oddiy xabar yuboruvchining misoli:

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);
}

Iste'molchi uchun, yetkazib berish va ishlashning ishonchliligini ta'minlash uchun tasdiqlash (ack) bilan xabarlarni qayta ishlashni amalga oshirardim.