Sobes.tech
Junior — Middle

Έχετε υλοποιήσει ανταλλαγή δεδομένων με το RabbitMQ στα έργα σας;

sobes.tech AI

Απάντηση από AI

Ναι, σε έργα C# έχω χρησιμοποιήσει το RabbitMQ για την οργάνωση της ανταλλαγής μηνυμάτων μεταξύ υπηρεσιών. Συνήθως, χρησιμοποιούσα τη βιβλιοθήκη RabbitMQ.Client για να συνδεθώ και να εργαστώ με τον broker.

Παράδειγμα ενός απλού αποστολέα μηνυμάτων:

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) για να διασφαλίσω την αξιοπιστία της παράδοσης και της επεξεργασίας.