Azure上的信号器:呼叫单个客户端所需的服务总线?

Eri*_*oom 2 .net c# cloud azure signalr

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

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

// Invoke a method on the calling client
Caller.addMessage(data);
Run Code Online (Sandbox Code Playgroud)

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

Den*_*ton 9

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

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

如果您在单个服务器上运行(在Azure上没有sla),signalR将在Cloud Service Web角色以及新的Azure Web站点上正常运行.我做了一个关于这个简单场景的截屏视频,它没有服务总线依赖,但只在一台服务器上运行.

  • 问题是如果你出于任何原因最终使用longpolling并且你将负载平衡到另一台服务器然后你需要复制,你会错过消息. (7认同)