2014-03-19 3 views
5

하나의 복잡한 시나리오가 있습니다.SignalR 허브가 여러 서버에서 호스팅되는 경우?

SignalR HUB를 보유 할 웹 응용 프로그램이 하나 있습니다.

이 응용 프로그램은 여러 서버에서 호스팅됩니다.

예 : Hub1은 ServerA 및 ServerB에서 호스팅됩니다.

제가 ServerA와 ServerB 모두에 거의 클라이언트가 없다고 가정 해 봅시다.

일부 메시지가 ServerA에 브로드 캐스팅되면 ServerB는 해당 메시지를 가져올 수 있습니다. (적절한 ConnectionID를 전달하더라도)?

답변

4

예,하지만 당신은 백플레인을 사용해야합니다. Redis 또는 SQL과 같은 몇 가지 지원되는 것들이 있습니다.

모든 SignalR 인스턴스간에 사용자/그룹/허브/메시지를 동기화하는 BLOB 데이터 열과 테이블을 사용하는 SQL 백플레인을 사용했습니다. application_start에서는 SQL 백플레인을 사용하기 위해 한 줄의 코드를 추가하기 만하면 모든 것을 처리 할 수 ​​있습니다.

성능에 큰 우려가있는 경우 Redis로 이동하십시오. 단순하고 쉽게 구성 할 수있게하려면 SQL을 사용하십시오.

http://www.asp.net/signalr/overview/signalr-20/performance-and-scaling/scaleout-with-sql-server

관련 문제