如何缩放Azure Web PubSub服务实例?

本文介绍如何扩展你的Azure Web PubSub服务实例。 有两种扩展方案:纵向扩展和横向扩展。

  • 纵向扩展:获取更多单位、连接、消息等。 可以通过将定价层从“免费”更改为“标准”进行纵向扩展。

  • 水平扩展:增加 Web PubSub 单位数。 可以横向扩展到多达 100 个单位。 选择可用于缩放的单元选项有限:1、2、3、4、5、6、7、8、9、10、20、30、40、50、60、70、80、90 和 100 个单元(适用于单个 Web PubSub 服务实例)。 如果您想扩展到超过 100 个单位,Premium_P2 SKU 提供更强大的功能。

应用刻度设置需要几分钟时间。 在极少数情况下,应用可能需要大约 30 分钟。 缩放不需要更改代码或重新部署服务器应用程序。

有关单个 Web PubSub 服务的定价和容量的信息,请参阅Azure Web PubSub服务定价详细信息

注意事项

在不同定价层之间缩放Azure SignalR Service可能会导致服务停机。 停机时间行为因层组合而异,并在表中汇总。

比例场景 预计停机时间
免费↔标准/高级 是的
Standard_S1 ↔ Premium_P1
Premium_P1 ↔ Premium_P2

对于预期停机的缩放方案,由于 公共服务 IP 地址 在缩放作期间发生更改,因此会发生停机。 此 IP 更改通常需要 30-60 分钟 才能全局传播到 DNS 服务器,在此期间,服务可能暂时无法访问。 一般我们不建议经常更改定价层。

在Azure portal纵向扩展

  1. 在浏览器中,打开 Azure portal

  2. 在 Web PubSub 服务页的左侧菜单中,选择“纵向扩展”

  3. 单击“更改”,然后在弹出边栏选项卡中选择“Premium_P1”层

    在门户上扩展的屏幕截图。

  4. 选择“保存” 。

在Azure portal上横向扩展

  1. 在浏览器中,打开 Azure portal

  2. 在 Web PubSub 服务页面的左侧菜单中选择Scale Out

  3. 选择“手动缩放”区域中的单位。

    在 Portal 上扩展规模的屏幕截图。

  4. 选择“保存” 。

使用 Azure CLI 进行缩放

# Scale up to Premium_P1 Tier, and scale out to 100 units
az webpubsub update \
  --name $myWebPubSubName \
  --resource-group $myResourceGroupName \
  --sku Premium_P1 \
  --unit-count 100

比较定价层

有关详细信息(例如每个定价层包含的消息和连接),请参阅 Web PubSub 服务定价详细信息

有关每个层中的服务限制、配额和约束表,请参阅 Web PubSub 服务限制

使用 Premium_P2 SKU 增强对大型实例的支持

新 Premium_P2 SKU 旨在帮助实现广泛可伸缩性以应对高需求场景。 此 SKU 允许在 100、200、300、400、500、600 之间进行扩展。 700、800、900、1000 个单元(适用于单个 Web PubSub 服务实例)。 这种增强功能可处理多达 100 万个并发连接,以满足大规模的实时通信需求

可以使用Azure portal或Azure CLI将 SKU 纵向扩展到Premium_P2。

Premium_P2 层在内部使用另一种体系结构来管理大量基础资源。 因此,相比于较小SKU中的层级,此层的扩展操作可能需要更长时间。

注意事项

每个区域的每个订阅的 Web PubSub 单位数的默认配额上限为 150。 这是一个软限制,可以根据请求增加。 为此,只需提交支持工单以请求调整此配额。

后续步骤

本指南介绍了如何缩放单个 Web PubSub 服务实例。

Azure Web PubSub服务高级层支持自动缩放。