C# .NET Processamento de carga de trabalho A'LA Fila de trabalho Exemplos de processamento de idéias?
-
25-09-2019 - |
Pergunta
Como parte da minha constante curva de aprendizado no que você pode fazer para melhorar os aplicativos, estou tentando obter uma direção para acompanhar, ou seja, fila de emprego ou processamento de carga de trabalho qualquer que você goste.
No passado distante, usei o IBM MQ/Série - ele funcionou para um aplicativo financeiro, mas bastante pesado, se bem me lembro.
Conheço o MSMQ e também ouvi falar de alguns outros.
Mas primeiro, aqui está o meu contexto
Eu tenho um aplicativo C#/. Net Back-end que serve dados etc. a um JavaScript (principalmente jQuery etc) front-end através de chamadas Ajax etc. Eu tenho uma situação em que uma determinada ação envolve o upload de alguns arquivos, configurando alguns registros entradas no banco de dados, enviando por e-mail alguns usuários etc. Então, é claro, não quero fazer esse processo "online"/"em tempo real" devido ao possível atraso de tempo e tenho certeza de que as despesas gerais no servidor da web/banco de dados etc.
Então, dado o tipo de "mensagens" que eu preciso para fazer fila e processar, o que seria (eu não deveria apenas dizer fácil aqui, eu acho!) Um bom ponto de partida? Devo executar com o MSMQ e/ou o SQL 2008 Service Broker, ou algo como ZerOMQ - ou devo simplesmente criar meu próprio serviço de fila de carga de trabalho leve?
Percebo novamente sem ver a imagem completa, é difícil fazer recomendações completas, no entanto, qualquer ponto de partida recebido com gratidão!
David
Solução
Não tente fazer o seu próprio, por favor! Há tantas coisas a levar em consideração que você gastará mais tempo do que o resto do seu projeto provavelmente.
Eu diria que ir para o MSMQ, é muito fácil de usar com o WCF, as filas são transacionais, têm um mecanismo de tentativa, etc., e você se beneficia da interface do usuário do MSMQ para ver as mensagens, movê -las e assim por diante.