gpt4 book ai didi

azure - 如何终止特定的 Azure 辅助角色实例

转载 作者:行者123 更新时间:2023-12-03 01:58:21 25 4
gpt4 key购买 nike

背景

我正在尝试找出 Azure 应用程序的最佳结构。我的每个工作角色都会启动多个长期运行的作业。随着时间的推移,我可以将作业从一个实例转移到另一个实例,方法是在源实例上将作业切换到只读模式,在目标实例上旋转它们,然后在源实例上将原始作业向下旋转。

如果我有太多作业,那么我可以告诉 Azure 启动额外的角色实例,并将它们用于新作业。相反,如果我的负载下降(例如在夜间),那么我可以将未完成的作业整合到几台机器上,并告诉 Azure 提供更少的实例。

问题在于(据我所知)Azure 没有提供任何机制让我决定停止哪个实例。因此,我不知道要整合到哪些服务器上,并且当实例停止时,我的一些作业将会终止,从而在我在幸存的实例上重新启动这些作业时导致用户延迟。

想法 1:我决定停止哪个实例,并从其 Run() 返回。然后,我告诉 Azure 将我的实例计数减少 1,并希望它得出的结论是损坏的实例是一个不错的候选实例。有人尝试过这样的事情吗?

想法 2:我预定义了一大堆不同的工作角色,具有相同的内容。我可以通过将实例计数从零切换到一,然后再切换回来来单独停止和启动它们。我认为这个想法可行,但我不喜欢它,因为它似乎违背了 Azure 的自然做事方式,而且因为它让我需要进行大量额外的簿记工作来管理额外的辅助角色。

想法 3:接受现实。

还有更好的想法吗?

最佳答案

回应你的想法

想法 1: 我没有尝试完全按照您所描述的方式进行操作,但根据我的经验,您的第一个实例的名称以 _0 结尾,下一个 _1 结尾,我确信您可以猜到剩下的。当您减少实例计数时,它会删除具有最高编号后缀的实例。如果它考虑到任何特定实例的状态,我会感到惊讶。

想法 2:正如我认为您所暗示的那样,这会产生管理问题。每个托管服务只能有 5 个不同的工作人员,因此您需要为您希望能够扩展到的每组 5 个角色提供一个服务。此外,当您部署更新时,您必须上传 X 倍的服务,其中 X 是您当前支持的最大实例数。

想法 3:技术上最简单。在等待一些澄清之前,这可能就是我现在要做的事情。为了减少此选项的缺点,可能需要研究更快地加载数据的方法。通常有一个金发姑娘级别(不是太多,也不是太少)的并行性可以对此有所帮助。

关于azure - 如何终止特定的 Azure 辅助角色实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5346490/

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