掌桥专利:专业的专利平台
掌桥专利
首页

一种灰度发布报错率计算方法

文献发布时间:2024-01-17 01:27:33


一种灰度发布报错率计算方法

技术领域

本发明涉及灰度发布领域,尤其涉及一种灰度发布报错率计算方法。

背景技术

灰度发布是一种常见的发布形式,但在一般方案中,往往不会精确计算启动中造成的错误,大并发场景下,大基数往往带来很多的业务错误。在实际的部署上线中,多个节点的应用需要更新,上线的步骤一般是,更新程序,重启应用,更新程序可以提前更新,不影响业务交易,重启会影响业务交易。在业务重启过程中,交易请求会出现失败,无法访问情况,因为更新过程是上线的重要步骤,如何减少上线启动中的报错,是一个很重要的课题,业界一般采取的方法是在业务量较小的时段进行上线重启,业务总量减少,按比例存在的交易错误也会减少。

在多个节点的分布式应用上线发布中,往往采用,一半一半的简单方法,即一半的应用先重启,另一半继续提供服务,等先前的一半重启完成后,再重启后一半节点,这样的方式交灰度发布。

目前方案的弊端不够精密,没有通过实际的方法,计算每个应用按怎样的顺序启动,才能最小化系统异常,最小化错误数量,最小化启动更新给客户带来的影响。

发明内容

鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种灰度发布报错率计算方法。

根据本发明的一个方面,提供了一种灰度发布报错率计算方法,所述计算方法包括:

步骤S1:确定灰度发布的属性参数;

步骤S2:确定每个节点的流量分布情况,并计算和观察流量走势;

步骤S3:计算新旧版本节点共存情况下的业务报错,计算不同方案的报错概率;

步骤S4:通过比较所述报错概率和所述流量走势选取适合的发布方案。

可选的,所述属性参数包括:架构方案,节点数量,启动顺序。

可选的,所述流量分布情况为是否均分流量。

本发明提供的一种灰度发布报错率计算方法,所述计算方法包括:步骤S1:确定灰度发布的属性参数;步骤S2:确定每个节点的流量分布情况,并计算和观察流量走势;步骤S3:计算新旧版本节点共存情况下的业务报错,计算不同方案的报错概率;步骤S4:通过比较所述报错概率和所述流量走势选取适合的发布方案。让灰度发布的启动顺序更科学、合理、精密,改变目前粗放、随机的设置启动顺序的方式。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的一种灰度发布报错率计算方法的流程图;

图2为本发明实施例提供的架构图;

图3为本发明实施例提供的方案流量走势图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明的说明书实施例和权利要求书及附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。

下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。

如图1所示,一种灰度发布报错率计算方法包括:步骤S1:确定灰度发布的属性参数;步骤S2:确定每个节点的流量分布情况,并计算和观察流量走势;步骤S3:计算新旧版本节点共存情况下的业务报错,计算不同方案的报错概率;步骤S4:通过比较所述报错概率和所述流量走势选取适合的发布方案。

如图2所示,本发明设定具体业务场景,分布式应用服务节点数8,后线连接集中式服务C,假定总流量为1,灰度发布过程中,单位时间内流量保持恒定。节点分为A、B两部分,各4各节点。节点流量承接方式为均分,即上线节点即接受1/N(上线节点)数的流量。

方案X:A区4个节点停止服务,完成上线部署不启动,B区4个节点继续提供服务,C系统更新上线后,接口变动,此时B区发送交易报错。A区服务依次启动,B区服务依次停止,B区服务部署后,依次启动。

方案Y:A区4个节点停止服务,完成上线部署不启动,B区4个节点继续提供服务,C系统更新上线后,接口变动,此时B区发送交易报错。A区服务启动A1->B区服务停止B1->启动A2->停止B2->启动A3->停止B3->启动A4->停止B4,B区服务部署后,依次启动。

分析两种不同方案的单在线活动节点流量变化

方案X:A区停止:1/8->1/7->1/6->1/5->1/4

A区启动:->1/5->1/6->1/7->1/8

B区停止:->1/7->1/6->1/5->1/4

B区启动:->1/5->1/6->1/7->1/8

方案Y:A区停止:1/8->1/7->1/6->1/5->1/4

交替启动停止:1/5->1/4->1/5->1/4->1/5->1/4->1/5->1/4->1/5->1/6->1/7->1/8。

方案流量走势如图3所示。

下面来对比不同方案的出错比率,旧版本对旧版本不报错,新版本对旧版本报错,旧版本对新版本报错,只考虑出错发生时段,即系统C已更新完成,到A,B两组全部更新完成,那么:

方案X出错概率:4/5->4/6->4/7->4/8->3/8->2/8->1/8->0方案Y出错概率:4/5->3/4->3/5->2/4->2/5->1/4->1/5->0

比较X方案的概率和Y方案的概率求和来比较哪个方案在出错概率上更优:

Σ方案X:4/5+4/6+4/7+4/8+3/8+2/8+1/8

Σ方案Y:4/5+3/4+3/5+2/4+2/5+1/4+1/5

方案X:

明显看出方案X的出错比率小于方案Y。

本发明不局限于只计算本次列出的两个方案比较,可根据不同的架构场景,节点数量以及应用场景要求计算,选择最优方案。

针对实际应用,

第一步,确定灰度发布的架构方案,节点数量,启动顺序等,如节点数量8,分成两部分启动,启动顺序是一部分不动,一部分逐个重启,再反过来操作,还是其它启动方式。

第二步,确定每个节点的流量分布情况,是否均分流量,并计算和观察流量走势。

第三步,按本发明的计算方法,计算新旧版本节点共存情况下的业务报错,计算不同方案的报错概率。

第四步,通过报错概率比较和流量走势选取适合的发布方案。

有益效果:本发明提供一种对灰度发布启动顺序的计算方法,让灰度发布的启动顺序更科学、合理、精密,改变目前粗放、随机的设置启动顺序的方式。

以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于代码覆盖率的灰度发布度量方法
  • 一种基于图像灰度变化率的涌潮陡度间接计算方法
技术分类

06120116226286