Scegliere una soluzione per la coda messaggi

Completato

Le code di archiviazione e le code del bus di servizio hanno un set di funzionalità leggermente diverso. È possibile scegliere una o entrambe le opzioni, a seconda delle esigenze della soluzione specifica.

Quando si stabilisce la tecnologia di accodamento che soddisfa lo scopo di una determinata soluzione, è consigliabile che gli architetti e gli sviluppatori di soluzioni tengano in considerazione le indicazioni riportate di seguito.

Valutare la possibilità di usare le code del bus di servizio

Gli architetti e gli sviluppatori di soluzioni dovrebbero considerare l'uso delle code del bus di servizio quando:

  • La soluzione deve ricevere messaggi senza dover eseguire il polling della coda. Con bus di servizio, è possibile ottenere questo risultato usando un'operazione di ricezione con polling prolungato tramite protocolli basati su TCP supportati dal bus di servizio.
  • La soluzione richiede che la coda specifichi un recapito ordinato First In First Out (FIFO) garantito.
  • La soluzione deve supportare il rilevamento automatico dei duplicati.
  • L'applicazione dovrà elaborare i messaggi come flussi paralleli a esecuzione prolungata (i messaggi sono associati a un flusso mediante la proprietà session ID). In questo modello ogni nodo dell'applicazione che utilizza il servizio entra in competizione con gli altri nodi per l'acquisizione dei flussi anziché dei messaggi. Quando un flusso viene assegnato a un nodo basato sul servizio, tale nodo può esaminare lo stato del flusso dell'applicazione mediante transazioni.
  • La soluzione richiede il comportamento transazionale e l'atomicità quando si inviano o ricevono più messaggi da una coda.
  • L'applicazione gestisce messaggi che possono superare i 64 KB, ma probabilmente non raggiungerà il limite di 256 KB o 1 MB, a seconda del livello di servizio scelto (anche se le code bus di servizio possono gestire i messaggi fino a 100 MB).
  • È necessario fornire un modello di accesso basato sui ruoli alle code e autorizzazioni/diritti diversi per mittenti e destinatari.

Valutare l'uso delle code di archiviazione

Gli architetti e gli sviluppatori di soluzioni dovrebbero considerare l'uso delle code di Azure quando:

  • L'applicazione deve archiviare più di 80 gigabyte di messaggi in una coda.
  • L'applicazione deve tenere traccia dello stato dell'elaborazione di un messaggio nella coda. È utile se il ruolo di lavoro che elabora un messaggio si arresta in modo anomalo. Un altro ruolo di lavoro può quindi usare tali informazioni per continuare dal punto in cui è stato interrotto il ruolo di lavoro precedente.
  • Sono necessari i log lato server di tutte le transazioni eseguite sulle code.