【问题标题】:Autoscaling on queuemessages队列消息的自动缩放
【发布时间】:2015-10-09 22:15:01
【问题描述】:

我正在使用服务总线队列消息和辅助角色在 azure 上测试自动缩放功能。

自动缩放的简单场景是,对于每个实例的队列中超过 10 条消息,自动缩放发生。但是,在测试过程中,注意到即使我已经在队列中推送了 200 多条消息,即使在半小时后,

1)只有一个实例被放大(从 1 开始,它变成了 2)
2)两个实例都不是稳定的,即处于“运行”状态。

这让我很困惑,是否有以下可能导致显示不一致的原因?

1)我的订阅是公司 msdn 订阅,每月有上限(当然这仅适用于开发工作)。
2)我在几秒钟内推送了 200 条消息.. 显然这可能是一个生产场景.. 但它会妨碍..

有什么可能?

【问题讨论】:

    标签: azure azure-worker-roles azureservicebus autoscaling


    【解决方案1】:

    Azure 的自动缩放适用于 60 分钟的聚合周期。一旦启动,它通常一次添加 1 个实例,并且需要 10 到 12 分钟才能将实例添加到云服务(我假设你有)。

    如果您想在自动缩放方面获得更多控制和选项,请考虑专门从事此方面的第 3 方产品,例如 CloudMonix,它是 AzureWatch 的继任者 - 我与这两者都有关联

    关于为什么您的实例在扩展期间都未就绪的特别说明: 这是因为您从 1 个实例开始并转到 2。如果您从 2 个实例开始并转到 3+,那么您的前两个实例就可以了。这是 Azure 负载均衡器的一个特殊问题,我忘记了 Microsoft 对此的解释,但如果你看的话,它就在论坛上的某个地方

    【讨论】:

    • 如果你能告诉我这背后的解释,那就太好了。是SLA问题吗?因为如果您没有 2 个或更多实例,则 SLA 不存在?
    • 这不是一个 SLA 问题(尽管我确信 SLA 也依赖于这个事实),但我认为这是因为他们的负载均衡器通过了不同的模式,需要先拉出你的为了用 2 个以上的实例重建负载平衡集
    • 我理解新实例的启动取决于一个小时内的平均使用量。但是基于队列的情况如何......例如在优化我的队列读取之后,它现在非常快......但仍然.当我将每个实例的标准设置为 10 条消息时.. 当队列中有超过 100 条待处理消息时.. 它仍然没有开始启动新实例.. 一段时间后它确实.. 后面有什么事情吗?
    【解决方案2】:

    服务总线将在几秒钟内吃掉 200 条消息。尝试发送更多,例如 20,000。

    这是一个示例,它使用 F#,但概念相同。 http://indiedevspot.com/2015/03/14/mocking-iot-telemetry-data-with-azure/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-14
      • 2012-11-16
      • 2017-06-17
      • 2016-05-14
      • 1970-01-01
      • 2014-11-19
      • 2021-09-10
      相关资源
      最近更新 更多