You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于Azure Service Bus主题订阅的消息实现Azure容器应用自动缩放?

Azure容器应用基于Service Bus主题特定订阅消息数配置自动缩放

Azure容器应用的自动缩放支持通过Azure Monitor指标触发,而Service Bus的每个订阅都有独立的监控指标,你可以利用这一点实现基于特定订阅消息数的缩放,具体操作如下:

1. 确认可用的订阅指标

Service Bus订阅提供的核心缩放指标包括:

  • ActiveMessages:订阅中待处理的活跃消息数
  • DeadletteredMessages:订阅中死信队列的消息数
    这些指标会关联到具体的订阅,可通过Azure Monitor筛选维度获取。

2. 使用CLI配置缩放规则

通过Azure CLI执行以下命令,替换占位符为你的实际资源信息:

az containerapp update \
  --name <container-app-name> \
  --resource-group <resource-group-name> \
  --set properties.scale.rules[0].name=servicebus-subscription-scale \
  --set properties.scale.rules[0].type=azure-monitor \
  --set properties.scale.rules[0].metadata.metricName=ActiveMessages \
  --set properties.scale.rules[0].metadata.metricNamespace=Microsoft.ServiceBus/namespaces \
  --set properties.scale.rules[0].metadata.resourceUri=/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ServiceBus/namespaces/<service-bus-namespace> \
  --set properties.scale.rules[0].metadata.dimension=EntityName \
  --set properties.scale.rules[0].metadata.dimensionValue=<topic-name>/subscriptions/<subscription-name> \
  --set properties.scale.rules[0].metadata.targetValue=100 \
  --set properties.scale.rules[0].minReplicas=1 \
  --set properties.scale.rules[0].maxReplicas=10

关键参数说明:

  • dimensionValue:格式为主题名/subscriptions/订阅名,用来指定要监控的特定订阅
  • targetValue:触发缩放的消息数阈值,比如当活跃消息数超过100时扩容
  • minReplicas/maxReplicas:设置容器应用的实例数范围

3. 门户配置方式

如果偏好可视化操作:

  • 进入目标容器应用的“缩放”页面,点击“添加规则”
  • 选择“Azure Monitor指标”类型,关联你的Service Bus命名空间
  • 在指标筛选中,选择ActiveMessages指标,添加维度EntityName并指定为主题名/subscriptions/订阅名
  • 设置阈值、实例数范围后保存规则

4. 权限配置

确保容器应用的标识(系统分配或用户分配)拥有Service Bus命名空间的Monitoring Reader权限,否则无法读取监控指标完成缩放判断。

内容的提问来源于stack exchange,提问作者Kevin M Ziegler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 10:56:03