using RabbitMQ.Client; using System.Text; var factory = new ConnectionFactory { HostName = "rabbitmq", UserName = "admin", Password = "admin" }; using var connection = await factory.CreateConnectionAsync(); Console.WriteLine("Connection established."); using var channel = await connection.CreateChannelAsync(); Console.WriteLine("Channel created."); await channel.ExchangeDeclareAsync(exchange: "logs_exchange", type: ExchangeType.Fanout); while (true) { var message = $"Event: {GenerateRandomEvent()}"; var body = Encoding.UTF8.GetBytes(message); await channel.BasicPublishAsync(exchange: "logs_exchange", routingKey: string.Empty, body: body); Console.WriteLine($"[Publisher] Sent: {message}"); await Task.Delay(1000); } static string GenerateRandomEvent() { var events = new[] { "Order Received", "User Message", "Create Report" }; return events[new Random().Next(events.Length)] + " #" + new Random().Next(0, 99); }