2009-06-21 19 views
21

Qualcuno ha informazioni su come lo stato viene gestito in Azure quando si sceglie di avere più istanze? Sembra che InProc sia privo di valore e che sia necessario disporre di un'altra istanza del server di stato o utilizzare il datastore per memorizzare lo stato degli utenti tra i server.In che modo Microsoft Azure gestisce lo stato sessione?

Oppure implementa sessioni adesive, quindi InProc è tutto ciò che serve.

trovato la risposta qui: Azure Forums

+0

Questo link è morto, qualcuno sa se questa informazione è altrove? – andynormancx

+0

Vedere la mia risposta di seguito, con collegamenti alle domande frequenti sulla cache e un collegamento ai dettagli sui nuovi provider universali ASP.NET (il nuovo provider Session State supporta nativamente SQL Azure). –

risposta

18

Storage Table sarebbe il posto più logico. Altre configurazioni del tipo di server farm utilizzano anche una tabella di database per memorizzare le informazioni sulla sessione.

Dai un'occhiata al progetto AspProviders negli esempi di Windows Azure SDK. Ha un provider SessionState che utilizza Archiviazione tabella di Azure.

+0

Dato che si paga per transazione con la memoria della tabella, mi chiedo se SQL Azure sarebbe meglio da un punto di vista economico poiché si paga solo per la larghezza di banda (oltre al db stesso). –

+6

Sono abbastanza sicuro che lo storage da tavolo è la scelta più economica. 1 GB SQL Azure è $ 9,99 al mese. È possibile memorizzare 1 GB in Table Storage per 15 centesimi. Le transazioni sono 10.000 per un centesimo, quindi con i restanti $ 9,84, potresti ottenere 9,84 milioni di transazioni. Quindi, se hai oltre 10 milioni di transazioni al mese, allora SQL Azure sarebbe più economico.Le tariffe per il trasferimento dei dati vengono pagate solo per i dati in/out di Azure, pertanto i dati della sessione non devono essere soggetti a tali costi. – CoderDennis

+0

Ma come si eliminano le vecchie informazioni sulla sessione dalla memoria di tabelle e blob? – joe

2

Non è richiesta l'affinità di sessione e quindi l'utilizzo di provider di stato sessione che si basano su Azure storage o SQL Azure storage è la scelta migliore.

Per alcune applicazioni legacy potrebbe essere ancora necessaria l'affinità di sessione. In questi casi, l'ARR tra Azure load balancer e Web farm è un'opzione.

Maggiori dettagli a http://go.archims.fr/hW54Xz

13

AppFabric cache appena andato in produzione, e questo è un ottimo modo per gestire i dati di sessione. Infatti, ha un provider di stato della sessione personalizzato che semplicemente scende in web.config. Lo troverai nel portale di Azure.

Tutte le informazioni relative alle dimensioni della cache, ai prezzi e allo SLA sono here.

Modifica: Windows Azure Web Role modelli includono ora i nuovi provider ASP.NET universali, tra cui un fornitore di Stato di sessione che supporta SQL Azure. Dai un'occhiata a Nate Totten's blog post per maggiori dettagli.

EDIT 7/8/2012 Windows Azure ora fornisce sia un ruolo cache che una cache in memoria (entrambi facilmente configurabili con gli strumenti più recenti e v1.7 SDK). La cache in-memory distribuisce la cache su una delle istanze dei ruoli esistenti, utilizzando una percentuale impostata di RAM (bella opzione "gratuita" se non hai bisogno di molta RAM nella tua app).

Problemi correlati