gpt4 book ai didi

java - 增加/减少 Azure 中辅助角色实例的数量

转载 作者:行者123 更新时间:2023-12-02 13:24:24 25 4
gpt4 key购买 nike

我可以使用 Azure4Java 包中的 ServiceManagementRest 类直接从 Java 增加辅助角色 (WR) 实例的数量。请参阅教程 Azure Management through Java .

我的问题是,当我减少WR实例数量时,我可以决定关闭哪些WR实例吗?因为,对于云弹性想法,我会停止处于 IDLE 状态的实例,而不是处于 EXECUTING 状态的实例。

问候,法布里齐奥

最佳答案

您无法选择要关闭的实例;您只需更改实例计数,结构 Controller 就会负责关闭实例。原因之一是由于故障域和 SLA:如果您在 2 个故障域中有 4 个实例,并且关闭故障域 0 中的两个实例,那么您现在在故障域 1 中有 2 个实例。因此,现在您有两个实例也许同一机架中的实例,并且该机架离线。现在,您在一段时间内运行的实例为零。

处理实例关闭是一种常见情况,解决此问题的典型模式是利用队列来缓冲工作负载,然后让辅助角色实例使用这些队列中的工作项。如果您在实例工作完成之前关闭该实例,该项目最终会重新出现在队列中,并且另一个实例可以完成该工作。

这种模式需要幂等性,这有时是一个挑战。通过最近对 Windows Azure 队列的更新,您现在可以修改队列消息,这使这变得更加容易 - 您可以在完成工作项处理的各个阶段时向队列消息添加信息。然后,如果您的实例在工作完成之前关闭,则下一个拿起它的工作人员可以从“开始”以外的点恢复。

还有一个细节:您应该能够处理 Stopping 事件,并告诉“正在停止的实例”停止从队列中读取(也许设置一个标志)。然后,重写 OnStop(),并等待进程内操作完成后再返回。如果仍在进行的操作需要超过 5 分钟,您可能需要发挥创意......

关于java - 增加/减少 Azure 中辅助角色实例的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8355167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com