Sobes.tech
Junior — Middle

Haben Sie den Datenaustausch mit RabbitMQ in Ihren Projekten implementiert?

sobes.tech KI

Antwort von AI

Ja, in C#-Projekten habe ich RabbitMQ verwendet, um den Nachrichtenaustausch zwischen Diensten zu organisieren. Ich verwendete normalerweise die Bibliothek RabbitMQ.Client, um eine Verbindung herzustellen und mit dem Broker zu arbeiten.

Beispiel eines einfachen Senders:

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

Für den Verbraucher implementierte ich die Verarbeitung von Nachrichten mit Bestätigung (ack), um die Zuverlässigkeit der Zustellung und Verarbeitung zu gewährleisten.