5

我有一个应用程序,它使用 SignalR 连接我网站上的用户进行聊天等事情。如果我只是第一次向公众开放我的网站,我会假设在使用的前几个月我只需要一个实例(只要需求不需要另一个实例)。我是否可以在不使用 Windows Azure 服务总线的情况下仅在同一实例中运行我的 signalR 集线器类,然后在我使用 2 个或更多实例后将其移动到服务总线?

在 Windows Azure 服务总线站点上,还有一个快速的附带问题,它说:

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

这是否意味着只有 100 个并发用户连接到服务总线?或 100 个与实例的并发连接?我可以看到就大型网站而言,只有 100 个并发用户可能非常有限,所以我假设这意味着实例?一旦您移动到具有并发连接用户的服务总线,架构将如何工作有点困惑。

4

1 回答 1

9

您的用户将连接到您的实例,而您的实例将连接到服务总线。我不是说 1 个实例 = 1 个连接(我不知道 SignalR.WindowsAzureServiceBus 在内部是如何工作的),但是运行一些实例不会达到限制。

SignalR.WindowsAzureServiceBus 将使用服务总线作为...服务总线并在实例之间分发消息,以确保您可以将 SignalR 与多个实例一起使用。

而且您确实可以在没有 Windows Azure 服务总线的情况下在单个实例中运行“普通”SignalR,稍后将其更改为 SB 实现(有关步骤,请参阅此 wiki:http ://www.asp.net/signalr/overview/performance /scaleout-with-windows-azure-service-bus)。但您应该考虑到,Windows Azure SLA 仅适用于您有 2 个或更多实例正在运行的情况。

于 2012-07-27T22:10:50.563 回答