Pergunta

Eu sei que esta pergunta foi feita um pouco antes. Mas olhando ao redor Eu ainda não consigo fazer minha mente até que caminho devo ir para baixo. Aqui está a minha situação, espero que você pode ajudar:

Vamos ter uma série de serviços web que vai ser atingido em uma base programada por centenas de aplicações móveis. Estes serviços serão dados no dispositivo com novas informações tanto indo para os dispositivos e voltar com eles. Os dados retornados a partir dos dispositivos terá de atualizar um único banco de dados do servidor SQL central que também alimenta várias aplicações desktop e um site.

A fim de reduzir a quantidade de tempo para o pedido / resposta destes serviços que decidiram processar dados provenientes de dispositivos depois do fato por qualquer fixá-los em uma instância MSMQ ou armazenar os objetos serializados em um arquivo temporário armazenar e ter um processo serviço do Windows los mais tarde.

Portanto, há minhas escolhas, mas além de isso aqui está mais algumas coisas que podem ajudar vocês me aconselham:

  • Os dados retornados a partir dos dispositivos não serão devolvidos em pacotes de mensagens menores que precisam ser solicitados lado do servidor.
  • Não sei nada sobre MSMQ mas eu ter escrito serviços do Windows antes. Embora eu não tenho nenhum problema pegando MSMQ se for necessário.
  • Eu quero manter a resposta dos dispositivos de alguns onde no caso do processamento falhar por algum motivo, que é causada pelos dados. Dessa forma eu posso interrogar os dados e ver se há um problema ou seja, o dispositivo permite que um usuário para adicionar comentários que estendem o comprimento do campo relacionado no banco de dados do lado do servidor.

Com esta informação, você acha que vale a pena me procurando para aprender MSMQ ou devo ficar com a solução mais simples?

Chris.

Foi útil?

Solução

MSMQ não é uma má escolha e definitivamente não é difícil de aprender, mas tenha em mente que existem algumas limitações que você deve estar ciente.

Contras:

  • Cada fila só pode ser 2GB.
  • Cada 4MB mensagem (apesar do limite de 4MB pode ser corrigido usando MSMQ com WCF).
  • Apenas para Windows que você está limitado a usá-lo com .NET, C / C ++ ou biblioteca COM para ambientes COM-ativado.

Pros:

  • Suporta Windows Network Load Balancer.
  • Suporta Microsoft Cluster Service.
  • integrado com o Active Directory.
  • vem com o Windows.
  • transações apoios.
  • mensagens MSMQ pode ser rastreado por mensagens de auditoria no log de eventos do Windows.
  • As mensagens podem ser autenticado automaticamente (assinado) ou criptografados mediante o envio de e verificada e descriptografado após a recepção.

Outra abordagem que você pode querer considerar é escrever seus dados para uma tabela de teste. Esta pode ser uma boa idéia, pois você quer ter um registro de mensagens de volta.

É difícil dar conselhos quando eu não sei o resto da arquitetura do sistema, mas espero que esta resposta vai ajudar um pouco.

Links úteis

Programação MSMQ no .NET - Parte 1
Usando MSMQ com WCF

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top