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