일반적으로 SQL 연결에 대한 모범 사례는 연결을 열고 쿼리를 실행 한 다음 연결을 처분하는 것입니다. 그러나 RabbitMQ와 같은 AMQP 기반 큐 서버에 권장되는 방법은 무엇입니까? 애플리케이션이 RabbitMQ 서버에 대한 지속적인 연결을 유지하거나 게시자 측에서 전송되는 각 메시지에 대한 연결을 열고 닫아야하는지 여부rabbitmq 연결 모범 사례 게시자의 영구 연결 유지
public static void Main(string[] args)
{
var factory = new ConnectionFactory() { HostName = "localhost" };
using(var connection = factory.CreateConnection())
using(var channel = connection.CreateModel())
{
channel.ExchangeDeclare(exchange: "logs", type: "fanout");
var message = GetMessage(args);
var body = Encoding.UTF8.GetBytes(message);
channel.BasicPublish(exchange: "logs",
routingKey: "",
basicProperties: null,
body: body);
Console.WriteLine(" [x] Sent {0}", message);
}
Console.WriteLine(" Press [enter] to exit.");
Console.ReadLine();
}
private static string GetMessage(string[] args)
{
return ((args.Length > 0)
? string.Join(" ", args)
: "info: Hello World!");
}
저는 엘릭서와 함께 RMQ를 사용하고 있습니다. 내가 게시하는 각 메시지에 대해 새 채널을 만들거나 모든 게시 비즈니스에 대해 하나의 채널을 만들어야합니까? – fay