Sobes.tech
Junior — Middle

Hai esperienza pratica nell'uso di sistemi di scambio di messaggi tramite broker?

sobes.tech AI

Risposta dell'AI

Sì, ho esperienza pratica con sistemi di messaggistica tramite broker come RabbitMQ e Apache Kafka. Nei progetti in C#, ho utilizzato questi broker per organizzare l'interazione asincrona tra microservizi. Questo permette di alleggerire i servizi principali, aumentare la scalabilità e garantire una consegna affidabile dei messaggi.

Esempio di utilizzo di RabbitMQ con C# (con la libreria 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 World!";
    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);
}