2012-07-27 14 views
5

Mam aplikację, która używa SignalR do łączenia użytkowników w mojej witrynie w takich rzeczach jak czat. Jeśli dopiero publikuję swoją witrynę po raz pierwszy, zakładam, że potrzebuję tylko jednej instancji przez pierwsze kilka miesięcy użytkowania (o ile zapotrzebowanie nie wymaga innej instancji). Czy mogę po prostu uruchomić moją klasę centrali signalR w tym samym wystąpieniu bez korzystania z usługi Windows Azure Service Bus, a następnie przenieść ją do magistrali usług po użyciu co najmniej dwóch instancji?Skalowanie SignalR z usługą Windows Azure Service Bus

Również jeden bok szybkie pytanie, na stronie Windows Azure Service Bus mówi:

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

to oznacza tylko 100 jednoczesnych użytkowników podłączonych do magistrali usług? lub 100 równoczesnych połączeń z instancjami? Zauważyłem, że tylko 100 jednoczesnych użytkowników może być bardzo ograniczonych pod względem witryn o dużej skali, więc zakładam, że oznacza to instancje? Trochę mylić, jak będzie działała architektura po przejściu do magistrali usług z równoczesnymi podłączonymi użytkownikami.

+0

Możesz również rozważyć Redis. Zobacz: https://github.com/SignalR/SignalR/wiki/SignalR-with-Redis-Running-on-a-Windows-Azure-Virtual-Machine – tugberk

Odpowiedz

9

Twoi użytkownicy będą połączeni z twoimi instancjami i będą to twoje instancje łączące się z magistralą usług. Nie mówię, że 1 instancja = 1 połączenie (nie wiem, jak SignalR.WindowsAzureServiceBus działa wewnętrznie), ale nie osiągniesz limitów przy kilku uruchomionych instancjach.

SignalR.WindowsAzureServiceBus użyje magistrali usług jako ... magistrali usług i rozpowszechnia wiadomości między instancjami, aby upewnić się, że można używać SignalR z wieloma instancjami.

I rzeczywiście można uruchomić "normalny" SignalR w jednym wystąpieniu bez usługi Windows Azure Service Bus i zmienić go na implementację SB później (zobacz tę wiki dla kroków: http://www.asp.net/signalr/overview/performance/scaleout-with-windows-azure-service-bus). Należy jednak wziąć pod uwagę, że umowa SLA dla systemu Windows Azure ma zastosowanie tylko w przypadku, gdy działa 2 lub więcej wystąpień.

Powiązane problemy