梅捷主板去掉启动自检

您所在的位置:网站首页 梅捷主板启动项硬盘剩一个了 梅捷主板去掉启动自检

梅捷主板去掉启动自检

2024-06-14 03:45| 来源: 网络整理| 查看: 265

梅捷主板去掉启动自检

上一章: A / B测试

到目前为止,我们讨论了功能切换和A / B测试 。 这两种方法可以确保您的代码不会损害您的系统。 通过功能切换,可以逐步使用新功能并将其逐渐向用户公开,同时监视系统是否按预期运行。 另一方面,A / B测试可让您测试用户对新功能的React。 作为开发人员,您还应该编写一个更关键的测试,该测试可以保护您的系统免遭不良部署的影响(并且也是逐步实施部署的关键)。

自我测试有时也称为启动测试或部署后测试,是其中 您的系统会检查它是否可以正常运行。 一个有效的程序不仅包含开发人员编写的代码。 为了使应用程序正常工作,它需要配置值,外部资源和依赖项(例如数据库和外部服务)才能正常工作。

当应用程序加载并启动时,其第一个操作应该是自检。 如果自检未成功通过,则您的应用程序应拒绝处理任何操作。

自检有两个主要用例:

1.部署后测试–部署后测试是旨在验证两件事的测试。 它应该验证使用正确的配置部署了工件,并且它可以正常工作。 2.重新启动测试–确认所有第一级依赖项都可以正常工作,并且您的应用程序可以潜在地执行其任务。

部署后测试

在持续交付中,正在将部署部署到活动系统中,以保持零停机时间运行。 话虽如此,自检应检查以下内容: •检查您是否已连接到数据库。 •验证数据库架构是否符合您的期望。 •您的应用程序需要的所有资源都可以访问并正确加载。 •如果您的体系结构是SOA,请检查您依赖的所有服务是否都可以访问。 •所有外部服务都具有您期望它们进行的操作。 •您的系统需要进行的任何其他测试才能声明其可运行

重新开始测试

与部署后测试不同,重新启动服务时通常是由于问题而不是由于部署。 因此,您仅需要测试您的第一级依赖关系,而无需测试外部服务,因为您不能确定这些服务是否实际运行。 如果您确实检查了外部服务,则可能无法重新加载系统。 例如,如果服务A调用服务B上的方法,而服务B调用服务A上的方法,则在两个服务都重新启动之后,由于它们具有循环依赖性,它们将无法通过测试。 因此,重新启动测试应仅检查以下内容: •检查您是否已连接到数据库。 •验证数据库架构是否符合您的期望。 •您的应用程序所需的所有本地资源都可以访问并正确加载。

现在,由于重新启动测试不能保证重新启动时外部服务可以正常运行,因此您应该对可能加载的外部资源具有重试策略。

在Wix,我们建立了一个框架,一旦加载了服务,它将返回“服务临时不可用”错误,直到自检成功通过为止。 我们有一个标志(基本上是文件系统上的一个文件),如果它正在运行部署后测试或重新启动后测试,则“说明”自检。 在部署期间,部署脚本会删除“锁定文件”,从而确保在运行中进行完整的部署后测试。 在自检结束时,应用程序将写入“锁定文件”,因此连续的测试仅是启动测试,而不是部署后测试。

逐步部署

自检不仅对于检查部署的运行状况很重要,而且在进行逐步部署时也很重要。 由于您不会一次部署所有服务器,因此需要逐步部署服务器,但是只有在部署后测试通过之后,您才能部署下一台服务器。

下一章: 向后和向前兼容性

参考: 持续交付–第五部分–启动–来自我们的JCG合作伙伴 Aviran Mordo的自测,位于Aviran's Place博客上。

翻译自: https://www.javacodegeeks.com/2013/05/continuous-delivery-part-5-startup-self-test.html

梅捷主板去掉启动自检



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3