2012-02-10 13 views
6

È possibile eseguire un ruolo Web e un ruolo di lavoro nella stessa istanza oppure devo ottenere 2 istanze di hosting separate e pagare il doppio dell'importo che avrei altrimenti?Azure, ruoli e istanze

Ho un'API Web WCF che voglio ospitare su Azure. Ho anche un ruolo di lavoro che ascolta una coda in Archiviazione di Azure. Ogni volta che un messaggio viene aggiunto alla coda, lo otterrà ed eseguirà una piccola attività a seconda del messaggio.

Mi stavo chiedendo se posso solo eseguire questi due sulla stessa istanza oppure no.

risposta

3

"Ruolo di lavoro" e "Ruolo web" sono solo modelli semplici per "Windows Server 2008 con IIS in esecuzione" e "Windows Server 2008 senza IIS in esecuzione". La chiave è che un "ruolo" è una definizione di una macchina virtuale Windows Server. Per ogni "ruolo" hai una o più istanze.

In Windows Azure, entrambi i tipi di ruolo sono in grado di installare software, modificare le impostazioni del Registro di sistema, ecc. In uno script di avvio o nel gestore OnStart() ed entrambi consentono di eseguire il codice nel metodo Run().

Nel proprio caso, è possibile eseguire il servizio Web WCF in un ruolo Web, quindi nel metodo Run() (nello stesso ruolo), avviare un processo che ascolta i messaggi in coda inviati dai servizi Web WCF. Non c'è bisogno di avere un nuovo ruolo.

Ora: una volta entrati in situazioni di volume elevato, è possibile dividere il codice in ruoli separati, in modo da poterli ridimensionare in modo indipendente (sia nella dimensione della macchina virtuale sia nella quantità della macchina virtuale).

Ho pubblicato un'altra risposta su questo here.

0

Dipende completamente dalle vostre esigenze. È sufficiente disporre di un ruolo di lavoro che espone un endpoint esterno come descritto in here ed esporre un servizio WCF. È anche possibile avere un ruolo Web che è un servizio WCF e generare un thread in background che controlla la coda. Cosa sta facendo il lavoratore con il messaggio? Quale processo viene eseguito? Ciò ha anche un impatto sulla soluzione.

Un elemento chiave da tenere in considerazione è se il requisito di ridimensionamento tra il servizio WCF e le attività di richiamo della coda sono gli stessi. Se sono un singolo ruolo dovrebbe essere abbastanza buono per iniziare.

Problemi correlati