gpt4 book ai didi

azure - 暂存实例还是生产实例?

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

服务运行时中是否有任何地方可以告诉我当前是在“暂存”还是“生产”上运行?在生产环境中手动修改配置似乎有点麻烦。

最佳答案

当您处于 Prod 或 Staging 状态时,您确实不应该更改您的配置。暂存区域并非设计为“QA”环境,而只是部署生产之前的等待区域。

当您上传新部署时,上传包的当前部署槽会被破坏,并且在上传和启动虚拟机时会关闭 10-15 分钟。如果您直接上传到生产环境,则会产生 15 分钟的生产停机时间。因此,临时区域就被发明了:您上传到临时环境,测试内容,然后单击“交换”按钮,您的临时环境就会神奇地变成生产环境(虚拟 IP 交换)。因此,您的舞台表演应该与您的制作确实 100% 相同。

我认为您正在寻找的是 QA/测试环境?您应该为测试环境开辟一个新服务,并拥有自己的生产/暂存。在这种情况下,您将需要维护多个配置文件集,每个部署环境(生产、测试​​等)一组。

有很多方法可以管理发生的配置 hell ,特别是对于在 .config 文件之上还有自己的 *.cscfg 文件的 Azure。我更喜欢使用 Azure 项目执行此操作的方式如下:设置一个小型配置项目,在那里创建与部署类型匹配的文件夹。在每个文件夹内设置与特定部署环境匹配的 *.config 和 *.cscfg 文件集:调试、测试、发布...这些文件也在 Visual Studio 中设置为构建目标类型。我有一个小的 xcopy 命令,在每次编译 Config 项目期间都会发生,它将所有文件从 Config 项目的 Build Target 文件夹复制到 Config 项目的根文件夹中。

然后,解决方案中的每个其他项目都会链接到 Config 项目根文件夹中的 .config 或 .cscfg 文件。

瞧,我的配置神奇地自动适应每个构建配置。我还使用 .config 转换来管理发布与非发布构建目标的调试信息。

如果您已阅读所有内容,但仍想了解运行时的生产状态与暂存状态,那么:从 RoleEnvironment.DeploymentId 获取 deploymentId然后使用管理 API 和正确的 X509 证书来获取服务的 Azure 结构并调用 GetDeployments 方法(它是 REST API,但有是一个抽象库)。

希望这有帮助

编辑:根据要求撰写有关配置字符串的设置和环境之间切换的博客文章@ http://blog.paraleap.com/blog/post/Managing-environments-in-a-distributed-Azure-or-other-cloud-based-NET-solution

关于azure - 暂存实例还是生产实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4328462/

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