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

一种全链路灰度发布方法

文献发布时间:2023-06-19 16:06:26



技术领域

本发明涉及银行系统领域,尤其涉及一种全链路灰度发布方法。

背景技术

随着IT架构转型,银行体系支撑的服务的底层架构和平台系统日益复杂,生产运行不确定因素相较于以往明显增加,对生产系统稳定运行提出了更高的要求。

灰度发布是指在应用的新、旧版本间平滑过渡的一种发布方式。在应用发布与产品迭代中,通常会采用灰度发布来控制上线风险。在发布前先进行小规模的生产环境验证,让新版本的应用实例来承接、处理限定规模或范围的业务流量。通过收集使用体验的数据,对应用新版本的功能、性能、稳定性指标进行评判,发现问题快速回滚,保证服务连续性。

现有技术中的灰度发布技术方案多是基于单一业务系统或分布式体系下的灰度发布,没有一个完整的灰度发布异构方案,这样在既有传统应用又有分布式云应用的银行架构体系下就难以实现全行业务系统的全链路灰度发布。

发明内容

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

根据本发明的一个方面,提供了一种全链路灰度发布方法包括:

从业务角度分析灰度的场景,获得所述场景进行灰度处理的维度;

根据所述场景确定完成灰度方案的灰度原则;

根据所述场景确定全链路灰度的实现方式。

可选的,所述从业务角度分析灰度的场景,获得所述场景进行灰度处理的维度具体包括:

如果所述场景为针对前端设备类的前端系统,按照机具号、机具IP地址进行灰度流量切分;

如果所述场景为坐落在实体网点的实体系统,按照机构进行灰度流量切分;

如果所述场景为手机银行类以客户为主的客户系统,按照客户号进行计算进行灰度流量切分;

所述前端系统、所述实体系统和所述客户系统均可按照白名单的方式进行灰度流量切分。

可选的,所述根据所述场景确定完成灰度方案的灰度原则具体包括:

灰度环境的流量只能进入下游系统的灰度环境;

所述灰度环境与生产环境逻辑隔离;

传统前端应用入口需具备染色能力;

不进行灰度同时在灰度路径上的系统需支持灰度标识透传,完成灰度流量的全链路传递;

满足异构体系下的全链路灰度发布;

链路中需具备识别染色的路由能力;

在下一个版本上线前,必须结束本次版本的灰度。

可选的,所述根据所述场景确定异构体系下全链路灰度的实现方式具体包括:

传统区与创新区的架构及技术实现方式不同,所述传统区为传统模式下的PC应用,所述创新区为分布式云应用;

前端系统根据灰度需求在报文中添加灰度标识;

传统区灰度的实现方式包括:企业服务总线采用灰度路由+流量开关的方式进行改造:

当流量开关开启时,所述企业服务总线灰度环境与负载均衡隔离,前端所有流量接入所述企业服务总线生产环境;

所述企业服务总线根据灰度标识路由灰度流量;当流量开关关闭时,所述企业服务总线不判断灰度标识,灰度环境恢复负载,由负载均衡分配流量;

创新区灰度的实现方式包括:SOFA微服务平台支持服务路由功能,服务路由定制化开发灰度规则,服务提供方需添加灰度服务标签,对灰度环境下的服务进行标记;

增加服务路由功能根据灰度规则进行计算,获得计算结果;

将所述计算结果传入服务调用上下文中,获得上下文中灰度标识;

注册中心根据所述上下文中灰度标识进行流量分发。

可选的,所述根据所述场景确定异构体系下全链路灰度的实现方式还包括:

所述传统区灰度与所述创新区灰度交互时,云上网关根据传统区报文灰度标识及创新区上下文灰度标识进行灰度规则转换。

本发明提供的一种全链路灰度发布方法包括:从业务角度分析灰度的场景,获得所述场景进行灰度处理的维度;根据所述场景确定完成灰度方案的灰度原则;根据所述场景确定全链路灰度的实现方式。解决了异构体系下的全链路灰度分布,能够灵活控制灰度维度,满足不同场景下的业务需求。

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

附图说明

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

图1为本发明实施例提供的灰度环境与生产环境逻辑隔离的示意图;

图2为本发明实施例提供的异构体系下全链路灰度发布方案的示意图。

具体实施方式

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

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

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

灰度的整体技术方案包括三个方面:维度选择,首先需要从业务角度分析灰度的场景,这些场景下业务希望从哪些角度进行灰度;灰度原则,完成灰度方案,需要各系统遵循一定的原则,在共同的约束下才能将杂乱无章的事物整合在一期;实现方式,完成全链路灰度的具体技术实现方式。

维度选择包括:针对前端设备类的系统,可按照机具号、机具IP地址进行灰度流量切分;

坐落在实体网点的系统,可按照机构进行灰度流量切分;

诸如手机银行类以客户为主体的系统,可按照客户号进行计算进行灰度流量切分;

上述三类系统,可按照白名单方式进行灰度流量切分。

灰度原则包括:灰度环境的流量只能进入下游系统的灰度环境,灰度环境与生产环境逻辑隔离,流量只能从A->B->C或A’->B’->C’,如图1,来确保业务流量影响的链路和数据是清晰且可控的;

传统前端应用入口需具备染色能力;

不进行灰度但在灰度路径上的系统需支持灰度标识透传,完成灰度流量的全链路传递;

链路中需具备识别染色的路由能力;

在下一个版本上线前,必须结束本次版本的灰度。

实现方式包括,由于传统区(传统云下应用)与创新区(分布式云上应用)架构及技术实现方式不同,传统区与创新区采用不同的灰度发布实现方式,其中创新区与传统区的异构问题由自研云上网关解决,如图2所示:

前端系统需根据灰度需求在报文中添加灰度标识;

传统区灰度:企业服务总线采用灰度路由+流量开关的方式进行改造:当流量开关开启时,企业服务总线灰度环境与负载均衡隔离,前端所有流量接入企业服务总线生产环境,企业服务总线根据灰度标识路由灰度流量;当流量开关关闭时,企业服务总线不判断灰度标识,灰度环境恢复负载,由负载均衡分配流量,以此来降低企业服务总线生产环境的资源浪费;

创新区灰度:MS(SOFA微服务平台)支持服务路由功能,服务路由定制化开发灰度规则,服务提供方需添加灰度服务标签,对灰度环境下的服务进行标记;增加服务路由功能根据灰度规则进行计算,计算结果传入服务调用上下文中,注册中心根据上下文中灰度标识进行流量分发。

传统区与创新区交互时,由云上网关根据传统区报文灰度标识及创新区上下文灰度标识进行灰度规则转换。

有益效果:解决了异构体系下的全链路灰度发布,并可以灵活控制灰度维度,满足不同场景下的业务需求。

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

相关技术
  • 一种全链路的灰度发布方法及灰度发布系统
  • 一种分布式全链路灰度发布方法及装置
技术分类

06120114701208