Domanda

So che questa domanda è stata fatta un po ' prima.Ma io ancora non riesco a decidermi quale percorso dovrei andare giù.Ecco la mia situazione, magari vi può aiutare:

Avremo una serie di servizi web che sarà colpita in base a una pianificazione da centinaia di applicazioni mobile.Questi servizi saranno dati sul dispositivo con nuove informazioni, sia andando a dispositivi e tornare da loro.I dati restituiti dai dispositivi sarà necessario aggiornare un singolo database di SQL server centrale che alimenta anche diverse applicazioni desktop e web.

Al fine di ridurre la quantità di tempo per la richiesta/risposta di questi servizi, abbiamo deciso di elaborare i dati provenienti dai dispositivi dopo il fatto da attaccare in un MSMQ istanza o la conservazione degli oggetti serializzati in temporanea dei dati di archivio e di avere un servizio di windows, il processo a loro più tardi.

Così ci sono le mie scelte, ma a parte questo, ecco un paio di cose che potrebbero aiutare ragazzi mi consigliate:

  • I dati restituiti dai dispositivi non saranno restituiti in piccoli pacchetti di messaggi che devono essere ordinati lato server.
  • Non so nulla di MSMQ, ma ho scritto di servizi di windows prima.Se non ho nessun problema raccogliendo MSMQ, se necessario.
  • Voglio mantenere la risposta dai dispositivi da qualche parte nel caso in cui il trattamento non riesce per qualche motivo che è causato dai dati.In questo modo posso interrogare i dati e vedere se c'è un problema cioèil dispositivo consente agli utenti di aggiungere commenti che estendono il campo relativo lunghezza del lato server di database.

Con queste informazioni, pensi che vale la pena di me cercando di apprendimento MSMQ o devo attaccare con la soluzione più semplice?

Chris.

È stato utile?

Soluzione

MSMQ non è una cattiva scelta e sicuramente non è difficile da imparare, ma tenete a mente che ci sono alcuni vincoli che si dovrebbe essere a conoscenza.

Contro:

  • Ogni coda può essere solo 2GB.
  • Ogni messaggio di 4MB (nonostante la 4MB limite può essere risolto utilizzando MSMQ con WCF).
  • Solo per Windows, quindi ti sei limitato ad usare .NET, C/C++ o COM libreria COM ambienti abilitati.

Pro:

  • Supporta Windows Bilanciamento Del Carico Di Rete.
  • Supporta Microsoft Cluster Service.
  • Integrato con Active Directory.
  • Viene fornito con Windows.
  • Supporta le transazioni.
  • MSMQ i messaggi possono essere rilevate dai messaggi di controllo nel registro Eventi di Windows.
  • I messaggi possono essere automaticamente autenticato (firmato) o crittografati su invio e verificato e decifrati al momento della ricezione.

Un altro approccio che si potrebbe desiderare di prendere in considerazione è di scrivere i dati in una tabella di gestione temporanea.Questa potrebbe essere una buona idea, dato che si desidera avere un messaggio di log.

È difficile dare consigli quando non so il resto dell'architettura del sistema, ma spero che questa risposta ti aiuto un po'.

Link utili

Programmazione di MSMQ .NET - Parte 1
Utilizzo di MSMQ con WCF

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top