2012-07-27 17 views
5

Ho un'applicazione che utilizza SignalR per connettere gli utenti sul mio sito per cose come chat. Se per la prima volta sto aprendo il mio sito al pubblico, presumo che abbia bisogno di una sola istanza per i primi mesi di utilizzo (purché la domanda non richieda un'altra istanza). Posso semplicemente eseguire la mia classe hub signalR nella stessa istanza senza utilizzare Windows Azure Service Bus e quindi spostarla sul bus di servizio una volta che utilizzo 2 o più istanze?Scaling SignalR con Windows Azure Service Bus

Anche una domanda veloce lato, sul sito Windows Azure Service Bus si dice:

The Service Bus enables up to 100 concurrent connections to an entity.

significa questo a soli 100 utenti simultanei collegati al bus di servizio? o 100 connessioni simultanee alle istanze? Ho potuto vedere come solo 100 utenti simultanei potrebbero essere molto limitati in termini di siti Web su larga scala, quindi Im supponendo che si tratti di istanze? Un po 'di confusione su come avrebbe funzionato l'architettura una volta spostato sul bus di servizio con utenti connessi simultanei.

+0

Puoi anche considerare Redis. Dai un'occhiata: https://github.com/SignalR/SignalR/wiki/SignalR-with-Redis-Running-on-a-Windows-Azure-Virtual-Machine – tugberk

risposta

9

Gli utenti saranno connessi alle istanze e saranno le istanze che si collegano al bus di servizio. Non sto dicendo 1 istanza = 1 connessione (non so come SignalR.WindowsAzureServiceBus funzioni internamente), ma non raggiungerai i limiti con poche istanze in esecuzione.

SignalR.WindowsAzureServiceBus utilizzerà il bus di servizio come un ... bus di servizio e distribuirà messaggi tra le istanze per assicurarsi di poter utilizzare SignalR con più istanze.

E in effetti è possibile eseguire il SignalR "normale" in una singola istanza senza Windows Azure Service Bus e successivamente sostituirlo con l'implementazione SB (vedere questo wiki per i passaggi: http://www.asp.net/signalr/overview/performance/scaleout-with-windows-azure-service-bus). Tuttavia, è necessario tenere conto del fatto che lo SLA di Windows Azure si applica solo se sono in esecuzione 2 istanze o più.

Problemi correlati