O desacoplamento de camadas da Web e do banco de dados via MSMQ é necessário ou exagerado?

Estou montando um simples controle web asp.net, que como resultado de um post de formulário ajax insere um registro em um banco de dados MSQL.

É possível que a página que contém esse controle receba muitos milhares de acessos em um pequeno espaço de tempo e estou preocupado com a questão de desempenho de abrir uma conexão com o banco de dados, inserir o registro e fechar a conexão para cada solicitação.

Uma solução que ocorreu para mim é fazer o controle da Web colocar uma mensagem em uma fila do MSMQ e ter um serviço do Windows no servidor periodicamente ler a fila e fazer uma inserção em lotes.

Isso soa como uma arquitetura sensata, dado que os servidores da Web e de banco de dados estão sendo executados na mesma máquina. Soa necessário?

Pelo que li no banco de dados, a maioria dos benefícios de usar o MSMQ tem a ver com a resiliência, e não com o desempenho, por isso posso estar latindo na árvore errada.

Qualquer conselho seria muito agradecido

Muito Obrigado

Pete

questionAnswers(2)

yourAnswerToTheQuestion