Azure SignalR 自动缩放

Azure SignalR Auto-scaling

我正在使用 Azure SignalR 服务实例。 SignalR 服务目前仅支持每个服务实例每个单元 1000 个并发连接。如果 SignalR 并发连接数超过 1000,则需要手动增加服务实例,并随着用户减少而手动减少。

寻找合适的解决方案来根据需求自动缩放(放大和缩小)SignalR 服务实例。

如果有任何想法,请分享。谢谢。

Azure SignalR 服务不支持任何开箱即用的 auto-scaling 功能。

如果您想自动根据当前并发连接数增加或减少单元数,您将必须实施自己的解决方案。例如,您可以按照建议 here.

使用逻辑应用程序尝试执行此操作

通常的方法是使用门户、REST API 或 Azure CLI 手动增加单元数。

根据https://github.com/Azure/azure-signalr/issues/1096#issuecomment-878387639

,他们解决了缩放时的断开连接问题

他们正在研究自动缩放功能,同时这里有两种方法:

如果您 select 溢价撕裂,Azure SignalR 服务从 2022 年开始支持自动缩放。

  • 转到扩展 SignalR 服务和 select 高级定价 泪.
  • 转到横向扩展并创建自定义自动缩放。

这些示例表明,如果“连接配额利用率”指标超过 70%(第一个单元的 1000 个连接中应该有 700 个左右),您可以扩大规模。您也可以使用类似的规则缩小。示例表示当连接配额低于 20% 时缩减。

示例中的 20% 似乎有点限制,但我想这是为了避免不必要的缩放。客户端连接应该在缩小时关闭并重新连接,所以经常这样做可能不是一个好主意。

https://docs.microsoft.com/en-us/azure/azure-signalr/signalr-howto-scale-autoscale