2

我读到 Azure 上的 Signalr 需要一个服务总线实现(例如https://github.com/SignalR/SignalR/wiki/Azure-service-bus)以实现可扩展性目的。

但是,我的服务器只对单个客户端(调用者)进行回调:

// Invoke a method on the calling client
Caller.addMessage(data);

如果不需要 Signalr 的广播功能,是否还需要底层服务总线?

4

2 回答 2

9

服务总线依赖项不是 Azure 特有的。每当您有多个服务器在运行时,您的一些 signalR 客户端将创建与特定服务器的连接。如果您想保持多个服务器同步,则需要处理服务器到服务器的实时通信。服务总线的 pub-sub 模型很好地满足了这一要求。

dfowleR 在评论中列出了一个具体案例。确保你读了那么远!

如果您在单个服务器上运行(Azure 上没有 sla),signalR 将在云服务 Web 角色以及新的 Azure 网站上正常工作。我对这个简单的场景进行了截屏,该场景不依赖于服务总线,但只在单个服务器上运行。

于 2012-07-15T17:22:08.537 回答
2

为了支持负载平衡方案,是否可以在多个实例之间(即在 Azure 上)建立“服务器到服务器”SignalR PersistConnection?如果是这样,我们可以使用所有实例在启动时注册的 SQL Azure 表,以便最新的可以连接到以前的。

于 2012-07-18T03:14:55.090 回答