RabbitMQ guidelines de criação de canal

Estou escrevendo uma classe simples que meus aplicativos usarão para enviar e receber mensagens usando o RabbitMQ. Eu li tantos How-Tos, postagens de blog, white papers e artigos sobre o RabbitMQ que pude encontrar. a maioria dos exemplos mostra o uso da conexão e do canal agrupados em um bloco de uso e o contradiz dizendo que você provavelmente deveria implementá-los como um singleton. Especificamente em relação ao canal, vi comentários dizendo que você não deveria ter mais do que um único thread usando um único canal ao mesmo tempo.

Estou escrevendo minha biblioteca em c #. é um singleton com uma conexão estática conectada na primeira instanciaçã

Pensei em fazer o mesmo para o canal, mas pretendo usar a mesma biblioteca para permitir a publicação / assinatura de várias trocas / filas. A publicação e a assinatura podem ser feitas a partir de vários encadeamento

E, finalmente, minha pergunta: como devo implementar a criação de canais? Por mensagem? Cada consumidor tem um canal privado exclusivo, o editor sincroniza o acesso a um único canal exclusivo? Você entendeu minha deriva. Lembre-se de que pretendo usar um único servidor, com várias dezenas de consumidores / editores, não muito mais.

Obrigado

questionAnswers(4)

yourAnswerToTheQuestion