【问题标题】:Service bus relays and SignalR服务总线继电器和 SignalR
【发布时间】:2013-02-08 08:15:08
【问题描述】:

我们计划将 SignalR 与 Windows Azure 服务总线 一起用于需要实时客户端更新(浏览器)的云应用程序。我们可能有大约 200 个客户连接到我们的解决方案。如果我们将应用程序部署在 4 实例云服务上,我知道我应该使用“GlobalHost.DependencyResolver.UseWindowsAzureServiceBus(connectionString, 1);”选项通过服务总线连接它们。

我的问题是:它会使用服务总线继电器吗?或主题?每个实例上有多少个集线器?使用 SignalR 连接的每个客户端(200 个客户端)一个中继?我只想知道他们会花多少钱charge me 知道是否值得。事实上,这里最重要的是要知道 SignalR 是使用主题/订阅还是中继?

非常感谢您的帮助,

【问题讨论】:

    标签: azure signalr


    【解决方案1】:

    SignalR Azure 服务总线横向扩展提供程序将仅对每个角色实例使用一个订阅。如果您有 4 个云服务实例,您实际上会想要:

    GlobalHost.DependencyResolver.UseWindowsAzureServiceBus(connectionString, 4);
    

    第二个参数是你的实例数。

    这会将您的所有 SignalR 消息放在一个主题上。如果您想在更多主题之间分发消息,可以指定 topicCount 作为 UseWindowsAzureServiceBus 的第三个参数,如下所示:

    GlobalHost.DependencyResolver.UseWindowsAzureServiceBus(connectionString,
                                                            instanceCount: 4,
                                                            topicCount: 2);
    

    注意:以上参数仅为清晰起见命名。

    【讨论】:

    • 感谢 Halter73 的回复,但这给我带来了一个新问题,如果我们使用 Azure 并且我可以增加实例的数量,我是否可以动态更改该值 (instanceCount),以便每个实例都可以拥有所有连接的集线器?
    • 您无法动态更改 instanceCount,但 SignalR 1.1 不再需要指定 instanceCount。
    猜你喜欢
    • 2017-01-13
    • 1970-01-01
    • 2013-11-02
    • 2017-10-07
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    相关资源
    最近更新 更多