2012-07-27 4 views
5

SignalR을 사용하여 내 사이트의 사용자와 채팅 등의 작업을 연결하는 응용 프로그램이 있습니다. 제가 처음으로 사이트를 공개하는 경우, 수요가 다른 인스턴스를 필요로하지 않는 한 처음 몇 달 동안 만 인스턴스를 하나만 사용해야한다고 가정합니다. Windows Azure Service Bus를 사용하지 않고 동일한 인스턴스에서 signalR 허브 클래스를 실행 한 다음 2 개 이상의 인스턴스를 사용하면 서비스 버스로 옮길 수 있습니까?Windows Azure 서비스 버스로 신호 크기 조정

또한 하나 개의 빠른 측면 질문, 그것은 말한다 윈도우 Azure 서비스 버스 사이트 :

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

이이 서비스 버스에 연결 만 100 명의 동시 사용자를 의미합니까? 또는 인스턴스에 대한 100 개의 동시 연결? 100 명의 동시 사용자가 대규모 웹 사이트의 측면에서 매우 제한 될 수 있다는 것을 알 수 있었기 때문에 인스턴스를 의미한다고 가정합니다. 연결된 사용자가 동시에 서비스 버스로 이동하면 아키텍처가 어떻게 작동하는지 혼란스러워합니다.

+0

Redis를 고려해 볼 수도 있습니다. 보세요 : https://github.com/SignalR/SignalR/wiki/SignalR-with-Redis-Running-on-a-Windows-Azure-Virtual-Machine – tugberk

답변

9

사용자가 인스턴스에 연결되며 서비스 버스에 연결하는 인스턴스가됩니다. 1 인스턴스 = 1 연결 (SignalR.WindowsAzureServiceBus가 내부적으로 어떻게 작동하는지 모르겠다.)을 말하는 것은 아니지만 몇 가지 인스턴스를 실행하면 한계에 도달하지 못할 것이다.

SignalR.WindowsAzureServiceBus는 서비스 버스를 서비스 버스로 사용하고 여러 인스턴스에서 SignalR을 사용할 수 있도록 인스턴스간에 메시지를 배포합니다.

그리고 실제로 Windows Azure Service Bus가없는 단일 인스턴스에서 'normal'SignalR을 실행하고 나중에 SB 구현으로 변경할 수 있습니다 (이 wiki의 단계는 http://www.asp.net/signalr/overview/performance/scaleout-with-windows-azure-service-bus 참조). 그러나 Windows Azure SLA는 인스턴스가 두 개 이상인 경우에만 적용됩니다.

관련 문제