【发布时间】:2013-11-16 22:08:26
【问题描述】:
我使用 ASP.NET MVC 和 C#。我发现 SignalR 用于实时传输数据,但 signalR 有一些限制。
according to the issue for this:
使用背板,最大消息吞吐量低于客户端直接与单个服务器节点通信时的最大消息吞吐量。那是因为背板将每条消息转发到每个节点,因此背板可能成为瓶颈。此限制是否存在问题取决于应用程序。例如,以下是一些典型的 SignalR 场景:
- 服务器广播(例如,股票行情):背板适用于此 场景,因为服务器控制消息的速率 已发送。
- 客户端到客户端(例如聊天):在这种情况下,背板可能 如果消息的数量与 客户;也就是说,如果消息的速率按比例增长 更多客户加入。
- 高频实时(例如,实时游戏):背板不是 推荐用于这种情况。
我的项目需要高频实时(例如实时游戏)。
我还需要实时视频聊天
我的场景:
我有一个主服务器和多个从服务器,客户端连接到从服务器,从服务器连接到主服务器。
示例: 服务器 Slave-1 和服务器 Slave-2 连接到 Master 服务器,client-A 和 client-B 连接到 Slave-1,client-C 和 client-D 连接到 Slave-2,
client-A 发送消息或数据或与 client-D 实时聊天
我如何实现这个场景?
[Update-1]
如果我不使用 signalR 来解决这个问题,那我应该使用什么?
[Update-2]
在我的场景中,主服务器充当路由器,从服务器充当交换机。客户端连接到交换机,交换机连接到路由器。如果客户端-A向客户端-C发送数据包,数据包应该被发送到路由器并且路由器处理数据包。超过2000个可能的从服务器数量和每个服务器的用户数量超过10,000。
谢谢。
【问题讨论】:
-
不要使用 signalR 解决这个问题?
-
那我应该用什么?
-
嗨,阿米尔,我正在研究如何做到这一点。你愿意通过 github 分享任何示例代码吗?
标签: c# asp.net .net real-time signalr