一种灰度发布方法、装置、设备及介质制造方法及图纸

技术编号:23314909 阅读:29 留言:0更新日期:2020-02-11 17:43
本申请公开了一种灰度发布方法、装置、设备及介质,包括:通过携带标记信息的第一灰度应用实例获取灰度业务请求,生成与灰度业务请求对应的消息,并判断标记信息是否为灰度标记,若标记信息为灰度标记,则将灰度业务请求对应的消息的发送目标topic确定为消息队列中对应的灰度topic,并将灰度业务请求对应的消息发送至对应的灰度topic;通过第一正常应用实例获取正常业务请求,然后生成正常业务请求对应的消息,并将正常业务请求对应的消息发送至消息队列中对应的正常topic;通过第二灰度应用实例获取灰度topic中的消息,进行对应的消息消费;通过第二正常应用实例获取正常topic中的消息,进行对应的消息消费。这样进行消息队列的灰度隔离避免了错误业务数据的产生。

【技术实现步骤摘要】
一种灰度发布方法、装置、设备及介质
本申请涉及灰度发布
,特别涉及一种灰度发布方法、装置、设备及介质。
技术介绍
系统升级发布时,对于涉及到使用消息队列的系统,比如,kafka,需要先进行灰度发布,由测试人员在灰度实例上验证系统功能的正确性,才能全量发布新版功能。在现有技术中,对于常用的互联网应用架构,为了解决大并发,基于异步,削峰的考虑,需要用到消息队列来缓冲大流量,此时如果消息队列不支持灰度发布,那么即使RESTful/RPC(即RemoteProcedureCall,远程过程调用)请求能正确路由到灰度实例,但是生产的消息会流入正常应用实例,没有做到数据完全隔离,因此可能产生影响业务的错误数据。
技术实现思路
有鉴于此,本申请的目的在于提供一种灰度发布方法、装置、设备及介质,能够利用灰度topic和正常topic,将第一灰度应用实例和第一正常应用实例生产的消息在消息队列上隔离,使第一灰度应用实例生产的消息仅被对应的第二灰度应用实例消费,第一正常应用实例生产的消息仅被对应的第二正常应用实例消费,从而避免了错误业务数据的产生。其具体方案如下:第一方面,本申请公开了一种灰度发布方法,包括:通过携带标记信息的第一灰度应用实例获取灰度业务请求,然后生成与所述灰度业务请求对应的消息,并判断所述标记信息是否为灰度标记,若所述标记信息为灰度标记,则将所述灰度业务请求对应的消息的发送目标topic确定为消息队列中对应的灰度topic,并将所述灰度业务请求对应的消息发送至对应的所述灰度topic;通过第一正常应用实例获取正常业务请求,然后生成所述正常业务请求对应的消息,并将所述正常业务请求对应的消息发送至所述消息队列中对应的正常topic;通过第二灰度应用实例获取所述灰度topic中的消息,并进行对应的消息消费;通过第二正常应用实例获取所述正常topic中的消息,并进行对应的消息消费。可选的,所述通过第一灰度应用实例获取灰度业务请求之前,还包括:将所述第一灰度应用实例和所述第二灰度应用实例的标记信息设置为灰度标记。可选的,所述通过第一灰度应用实例获取灰度业务请求之前,还包括:判断所述第二灰度应用实例的标记信息是否为灰度标记,若所述第二灰度应用实例的标记信息为灰度标记,则将所述第二灰度应用实例对应的全部topic确定为灰度topic。可选的,还包括:当灰度验证结束,则删除所述第一灰度应用实例和所述第二灰度应用实例的灰度标记;或,当灰度验证结束,则删除所述第一灰度应用实例和所述第二灰度应用实例。第二方面,本申请公开了一种灰度发布装置,包括:灰度消息生产模块,用于通过携带标记信息的第一灰度应用实例获取灰度业务请求,然后生成与所述灰度业务请求对应的消息,并判断所述标记信息是否为灰度标记,若所述标记信息为灰度标记,则将所述灰度业务请求对应的消息的发送目标topic确定为消息队列中对应的灰度topic,并将所述灰度业务请求对应的消息发送至对应的所述灰度topic;正常消息生产模块,用于通过第一正常应用实例获取正常业务请求,然后生成所述正常业务请求对应的消息,并将所述正常业务请求对应的消息发送至所述消息队列中对应的正常topic;灰度消息消费模块,用于通过第二灰度应用实例获取所述灰度topic中的消息,并进行对应的消息消费;正常消息消费模块,用于通过第二正常应用实例获取所述正常topic中的消息,并进行对应的消息消费。可选的,还包括:灰度实例标记模块,用于将所述第一灰度应用实例和所述第二灰度应用实例的标记信息设置为灰度标记。可选的,还包括:灰度topic注册模块,用于判断所述第二应用实例的标记信息是否为灰度标记,若所述第二应用实例的标记信息为灰度标记,则将所述第二应用实例对应的全部topic确定为灰度topic。可选的,还包括:灰度验证结束模块,用于当灰度验证结束,则删除所述第一灰度应用实例和所述第二灰度应用实例的灰度标记;或,当灰度验证结束,则删除所述第一灰度应用实例和所述第二灰度应用实例。第三方面,本申请公开了一种灰度发布设备,包括处理器和存储器;其中,所述存储器,用于保存计算机程序;所述处理器,用于执行所述计算机程序,以实现前述的灰度发布方法。第四方面,一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的灰度发布方法。可见,本申请通过携带标记信息的第一灰度应用实例获取灰度业务请求,然后生成与所述灰度业务请求对应的消息,并判断所述标记信息是否为灰度标记,若所述标记信息为灰度标记,则将所述灰度业务请求对应的消息的发送目标topic确定为消息队列中对应的灰度topic,并将所述灰度业务请求对应的消息发送至对应的所述灰度topic,以及通过第一正常应用实例获取正常业务请求,然后生成所述正常业务请求对应的消息,并将所述正常业务请求对应的消息发送至所述消息队列中对应的正常topic,然后通过第二灰度应用实例获取所述灰度topic中的消息,并进行对应的消息消费,并通过第二正常应用实例获取所述正常topic中的消息,并进行对应的消息消费。这样,利用灰度topic和正常topic,将第一灰度应用实例和第一正常应用实例生产的消息在消息队列上隔离,能够使第一灰度应用实例生产的消息仅被对应的第二灰度应用实例消费,第一正常应用实例生产的消息仅被对应的第二正常应用实例消费,从而避免了错误业务数据的产生。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请公开的一种灰度发布方法流程图;图2为本申请公开的一种灰度发布系统架构图;图3为本申请公开的一种具体的灰度发布方法流程图;图4为本申请公开的一种灰度发布装置结构示意图;图5为本申请公开的一种灰度发布设备结构图;图6为本申请公开的一种服务器结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在现有技术中,对于常用的互联网应用架构,为了解决大并发,基于异步,削峰的考虑,需要用到消息队列来缓冲大流量,此时如果消息队列不支持灰度发布,那么即使RESTful/RPC请求能正确路由到灰度实例,但是生产的消息会流入正常应用实例,没有做到数据完全隔离,因此可能产生影响业务的错误数据。为此,本申请提供了一种灰度发布方案,能够利用灰度top本文档来自技高网...

【技术保护点】
1.一种灰度发布方法,其特征在于,包括:/n通过携带标记信息的第一灰度应用实例获取灰度业务请求,然后生成与所述灰度业务请求对应的消息,并判断所述标记信息是否为灰度标记,若所述标记信息为灰度标记,则将所述灰度业务请求对应的消息的发送目标topic确定为消息队列中对应的灰度topic,并将所述灰度业务请求对应的消息发送至对应的所述灰度topic;/n通过第一正常应用实例获取正常业务请求,然后生成所述正常业务请求对应的消息,并将所述正常业务请求对应的消息发送至所述消息队列中对应的正常topic;/n通过第二灰度应用实例获取所述灰度topic中的消息,并进行对应的消息消费;/n通过第二正常应用实例获取所述正常topic中的消息,并进行对应的消息消费。/n

【技术特征摘要】
1.一种灰度发布方法,其特征在于,包括:
通过携带标记信息的第一灰度应用实例获取灰度业务请求,然后生成与所述灰度业务请求对应的消息,并判断所述标记信息是否为灰度标记,若所述标记信息为灰度标记,则将所述灰度业务请求对应的消息的发送目标topic确定为消息队列中对应的灰度topic,并将所述灰度业务请求对应的消息发送至对应的所述灰度topic;
通过第一正常应用实例获取正常业务请求,然后生成所述正常业务请求对应的消息,并将所述正常业务请求对应的消息发送至所述消息队列中对应的正常topic;
通过第二灰度应用实例获取所述灰度topic中的消息,并进行对应的消息消费;
通过第二正常应用实例获取所述正常topic中的消息,并进行对应的消息消费。


2.根据权利要求1所述的灰度发布方法,其特征在于,所述通过第一灰度应用实例获取灰度业务请求之前,还包括:
将所述第一灰度应用实例和所述第二灰度应用实例的标记信息设置为灰度标记。


3.根据权利要求1所述的灰度发布方法,其特征在于,所述通过第一灰度应用实例获取灰度业务请求之前,还包括:
判断所述第二灰度应用实例的标记信息是否为灰度标记,若所述第二灰度应用实例的标记信息为灰度标记,则将所述第二灰度应用实例对应的全部topic确定为灰度topic。


4.根据权利要求1至3任一项所述的灰度发布方法,其特征在于,还包括:
当灰度验证结束,则删除所述第一灰度应用实例和所述第二灰度应用实例的灰度标记;
或,当灰度验证结束,则删除所述第一灰度应用实例和所述第二灰度应用实例。


5.一种灰度发布装置,其特征在于,包括:
灰度消息生产模块,用于通过携带标记信息的第一灰度应用实例获取灰度业务请求,然后生成与所述灰度业务请求对应的消息,并判断所述标记信息是否为灰度标记,若所述标...

【专利技术属性】
技术研发人员:戴跃锋尹彬胡正军陈喆谭清明
申请(专利权)人:湖南御家科技有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1