【问题标题】:Scaling Out Signal R with Azure Redis cache service使用 Azure Redis 缓存服务横向扩展 Signal R
【发布时间】:2017-07-20 17:42:12
【问题描述】:

我想利用 Azure Redis 缓存来横向扩展 Signal R。但我对横向扩展几乎没有疑问。

在给定的实例中,可能有 100 个客户端与信号 r 集线器连接。

当我们看到 Azure Redis 缓存定价时

它说最大连接数 256、1000 等。这些是否表示可以使用此 Redis 服务作为其背板连接到 Signal R Hub 的最大客户端数?

或者这是否意味着在给定的时间点可以有 256、1000 等可以与 Redis 服务交换数据的连接? 有人能详细说明一下吗?

Redis 服务上声明的连接和使用 Signal R 集线器建立的连接是否相互关联?

【问题讨论】:

    标签: azure signalr azure-redis-cache signalr-backplane


    【解决方案1】:

    SignalR Hub 在您的服务器上运行,您的客户端在客户端计算机上运行并连接到在服务器上运行的 SignalR Hub。客户端肯定不会直接连接到 Redis;它们连接到 SignalR Hub。在您的情况下,连接数是连接到 Redis 的 服务器端 SignalR Hubs 的数量(加上在 Redis 中编写的任何进程)。

    简而言之,举个例子:两个应用程序实例都有 200 个客户端连接,它们都有自己的 SignalR Hub 连接到 Redis,这意味着 2 个到 Redis 的连接。

    【讨论】:

    • 从我在 SignalR 的源代码中看到的,它看起来像是在使用 StackExchange.Redis。一个小的澄清是 StackExchange.Redis 创建 每个 ConnectionMultiplexer 2 个连接,看起来每个 SignalR RedisMessageBus 在幕后创建一个 ConnectionMultiplexer。所以,我相信在上面的例子中,两个运行 SignalR 的应用程序实际上会创建总共 4 个到 Redis 的连接。
    猜你喜欢
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 2013-01-19
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    相关资源
    最近更新 更多