CN113867782A - 灰度发布方法、装置、计算机设备和存储介质 - Google Patents
灰度发布方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113867782A CN113867782A CN202111158176.6A CN202111158176A CN113867782A CN 113867782 A CN113867782 A CN 113867782A CN 202111158176 A CN202111158176 A CN 202111158176A CN 113867782 A CN113867782 A CN 113867782A
- Authority
- CN
- China
- Prior art keywords
- gray
- server
- service
- request
- service request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及人工智能领域,实现在对微服务集群中的服务器进行系统版本灰度发布时,由微服务网关统一对业务请求进行控制,可以减少处理业务请求所需的资源。涉及一种灰度发布方法、装置、计算机设备和存储介质,该方法包括:获取灰度服务管理平台发送的灰度发布名单列表;当接收到业务请求时,根据灰度发布名单列表确定业务请求是否为灰度请求;若业务请求为灰度请求,则将业务请求发送至每个灰度服务器,以使每个灰度服务器根据业务请求进行灰度环境验证;若业务请求为非灰度请求,则将业务请求发送至每个非灰度服务器,以使每个非灰度服务器根据业务请求进行业务处理。此外,本申请还涉及区块链技术,灰度发布名单列表可存储于区块链中。
Description
技术领域
本申请涉及人工智能领域,尤其涉及一种灰度发布方法、装置、计算机设备和存储介质。
背景技术
微服务集群由多个应用服务组成,每个应用服务可以独立部署在一台服务器上。在对微服务集群中的多个服务器进行系统版本发布时,一般是采用灰度发布方式实现。在现有的灰度发布方式中,需要对每个服务器单独使用openresty平台进行业务请求控制,导致处理业务请求所需的资源较多,存在资源浪费。
因此,在进行系统版本的灰度发布时,如何减少处理业务请求所需的资源成为亟需解决的问题。
发明内容
本申请提供了一种灰度发布方法、装置、计算机设备和存储介质,通过微服务网关根据灰度发布名单列表确定业务请求是否为灰度请求,实现在对微服务集群中的服务器进行系统版本灰度发布时,由微服务网关统一对业务请求进行控制,可以减少处理业务请求所需的资源。
第一方面,本申请提供了一种灰度发布方法,所述方法包括:
获取灰度服务管理平台发送的灰度发布名单列表,所述灰度发布名单列表为待进行系统版本发布的目标微服务集群的灰度发布名单列表,所述目标微服务集群包括至少一个灰度服务器与至少一个非灰度服务器;
当接收到业务请求时,根据所述灰度发布名单列表确定所述业务请求是否为灰度请求;
若所述业务请求为灰度请求,则将所述业务请求发送至每个所述灰度服务器,以使每个所述灰度服务器根据所述业务请求进行灰度环境验证,所述灰度环境验证用于对完成系统版本发布的每个所述灰度服务器进行功能验证;
若所述业务请求为非灰度请求,则将所述业务请求发送至每个所述非灰度服务器,以使每个所述非灰度服务器根据所述业务请求进行业务处理。
第二方面,本申请还提供了一种灰度发布装置,所述装置包括:
名单列表获取模块,用于获取灰度服务管理平台发送的灰度发布名单列表,所述灰度发布名单列表为待进行系统版本发布的目标微服务集群的灰度发布名单列表,所述目标微服务集群包括至少一个灰度服务器与至少一个非灰度服务器;
灰度请求判断模块,用于当接收到业务请求时,根据所述灰度发布名单列表确定所述业务请求是否为灰度请求;
第一发送模块,用于若所述业务请求为灰度请求,则将所述业务请求发送至每个所述灰度服务器,以使每个所述灰度服务器根据所述业务请求进行灰度环境验证,所述灰度环境验证用于对完成系统版本发布的每个所述灰度服务器进行功能验证;
第二发送模块,用于若所述业务请求为非灰度请求,则将所述业务请求发送至每个所述非灰度服务器,以使每个所述非灰度服务器根据所述业务请求进行业务处理。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的灰度发布方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的灰度发布方法。
本申请公开了一种灰度发布方法、装置、计算机设备和存储介质,通过获取灰度服务管理平台发送的灰度发布名单列表,进而可以在接收到业务请求时,根据灰度发布名单列表确定业务请求是否为灰度请求;通过在确定业务请求为灰度请求时,将业务请求发送至每个灰度服务器,以及在确定业务请求为非灰度请求时,将业务请求发送至每个非灰度服务器,可以实现在对微服务集群中的服务器进行系统版本灰度发布时,由微服务网关统一对业务请求进行控制,无需对每个服务器单独配置openresty平台进行业务请求控制,可以减少处理业务请求所需的资源。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种灰度发布方法的示意性流程图;
图2是本申请实施例提供的一种灰度发布系统的示意图;
图3是本申请实施例提供的一种确定业务请求是否为灰度请求的子步骤的示意性流程图;
图4是本申请实施例提供的一种灰度发布装置的示意性框图;
图5是本申请实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种灰度发布方法、装置、计算机设备和存储介质。其中,该灰度发布方法可以应用于微服务网关中,通过根据灰度发布名单列表确定业务请求是否为灰度请求,实现在对目标微服务集群中的服务器进行系统版本灰度发布时,由微服务网关统一对业务请求进行控制,可以减少处理业务请求所需的资源。
其中,微服务网关可以包括但不限于应用程序接口(Application ProgramInterface,API)网关、Nginx网关以及Spring Cloud Zuul网关等等。
在本申请实施例中,微服务集群中的服务器可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
示例性的,微服务网关可以部署在网关服务器中,也可以部署在管理服务器中。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
如图1所示,灰度发布方法包括步骤S10至步骤S40。
步骤S10、获取灰度服务管理平台发送的灰度发布名单列表,所述灰度发布名单列表为待进行系统版本发布的目标微服务集群的灰度发布名单列表,所述目标微服务集群包括至少一个灰度服务器与至少一个非灰度服务器。
需要说明的是,灰度服务管理平台可以部署在管理服务器中;灰度服务管理平台具有以下功能:用于实时查看微服务集群中的各服务器的系统状态、灰度状态以及链路监控;用于收集系统版本发布信息;用于统一对微服务集群中的各服务器进行业务请求控制。其中,系统状态可以包括服务器的上线状态、下线状态、环境变量、JVM属性以及命令行参数等等。灰度状态是指服务器是否为灰度服务器,灰度服务管理平台可以查看服务器是否为灰度服务器和设定服务器为灰度服务器。链路监控是指监控业务请求需要经过哪些服务器进行处理。
在一些实施例中,微服务网关可以获取灰度服务管理平台发送的灰度发布名单列表;其中,灰度发布名单列表为待进行系统版本发布的目标微服务集群的灰度发布名单列表,目标微服务集群包括至少一个灰度服务器与至少一个非灰度服务器。
请参阅图2,图2是本申请实施例提供的一种灰度发布系统的示意图。如图2所示,管理服务器除了包括灰度服务管理平台,还可以包括注册中心。其中,注册中心可以是Eureka组件,用于实时收集各服务器的注册信息。每个服务器需要向注册中心注册自己提供的服务,例如主机名称与端口号、系统版本号以及通讯协议等信息。灰度服务管理平台可以生成待进行系统版本发布的目标微服务集群的灰度发布名单列表,并将灰度发布名单列表同步至微服务网关。微服务网关在接收到客户端的业务请求时,可以根据灰度发布名单列表确定业务请求是否为灰度请求;当业务请求为灰度请求时,将业务请求发送至目标微服务集群中的每个灰度服务器;当业务请求为非灰度请求时,将业务请求发送至目标微服务集群中的每个非灰度服务器。
需要说明的是,现有技术在进行灰度发布时,一般是对每个服务器单独配置一个openresty平台进行业务请求控制,因此会造成资源浪费。其中,openresty平台是一个基于NGINX的可伸缩的Web平台,集成了流量控制功能。在本申请实施例中,灰度服务管理平台通过将灰度发布名单列表发送至微服务网关,可以使得微服务网关根据灰度发布名单列表统一对业务请求进行处理,可以减少处理业务请求所需的资源,避免资源浪费。
在一些实施例中,目标微服务集群由灰度服务管理平台根据系统版本发布信息与系统版本统计信息匹配确定;其中,系统版本发布信息包括待发布系统版本对应的第一版本号,系统版本统计信息包括每个微服务集群的当前系统版本的第二版本号。
其中,当前系统版本是指每个微服务集群中的各服务器当前安装的系统版本。第一版本号与第二版本号用于确定当前系统版本是否需要进行发布。可以理解的是,发布是指对系统版本进行升级或更新。
示例性的,灰度服务管理平台可以从本地数据库或本地磁盘中获取系统版本发布信息,也可以根据用户的上传操作,获取系统版本发布信息。然后,灰度服务管理平台可以调用注册中心,获取每个微服务集群的系统版本统计信息。若某个微服务集群的当前系统版本对应的第二版本号与待发布系统版本对应的第一版本号不匹配,则将该微服务集群确定为目标微服务集群。
例如,对于微服务集群A,若待发布系统版本对应的第一版本号为V2.1.1,微服务集群A中的当前系统版本的第二版本号为V2.1.0,则可以确定微服务集群A为目标微服务集群,即需要对微服务集群A的当前系统版本进行发布。
在另一些实施例中,目标微服务集群由灰度服务管理平台根据用户的选中操作确定。需要说明的是,用户可以登录灰度服务管理平台,根据实际情况,选中待进行系统版本发布的目标微服务集群。例如,用户可以选中一个微服务集群,也可以选中多个微服务集群。
在一些实施例中,微服务网关在获取灰度服务管理平台发送的灰度发布名单列表之后,可以将灰度发布名单列表存储于本地数据库或本地磁盘中。
为进一步保证上述灰度发布名单列表的私密和安全性,上述灰度发布名单列表可以存储于一区块链的节点中。微服务网关在接收到业务请求时,可以从区块链节点中读取灰度发布名单列表,进而可以根据灰度发布名单列表确定业务请求是否为灰度请求。
示例性的,灰度发布名单列表由灰度服务管理平台将目标微服务集群中的每个灰度服务器对应的标识信息添加至预设的数据表生成。
示例性的,标识信息用于识别服务器的唯一性,可以包括服务器的识别号或IP地址等等。
通过获取灰度服务管理平台发送的灰度发布名单列表,进而可以在接收到业务请求时,根据灰度发布名单列表确定业务请求是否为灰度请求。
步骤S20、当接收到业务请求时,根据所述灰度发布名单列表确定所述业务请求是否为灰度请求。
示例性的,微服务网关在接收到客户端的业务请求时,可以根据灰度发布名单列表确定业务请求是否为灰度请求。可以理解的是,灰度请求由灰度服务器处理,而非灰度请求由非灰度服务器处理。
通过根据灰度发布名单列表确定业务请求是否为灰度请求,可以实现由微服务网关根据灰度发布名单列表统一对业务请求进行处理,无需对每个服务器单独配置openresty平台进行业务请求控制,可以减少处理业务请求所需的资源,避免资源浪费。
示例性的,客户端可以包括但不限于智能手机、平板电脑、笔记本电脑、台式电脑以及可穿戴设备等电子设备。此外,客户端还可以是部署有医疗平台的终端。
需要说明的是,客户端可以基于超文本传输协议(Hyper Text TransferProtocol,HTTP),通过微服务网关向微服务集群中的服务器发送业务请求。其中,业务请求由请求行、请求头和请求正文三部分组成。其中,请求头可以包括服务器识别信息。服务器识别信息用于确定业务请求的目的地。
请参阅图3,图3是本申请实施例提供的一种确定业务请求是否为灰度请求的子步骤的示意性流程图,具体可以包括以下步骤S201至步骤S204。
步骤S201、提取所述业务请求中的服务器识别信息。
示例性的,可以从业务请求的请求头进行信息提取,获得服务器识别信息。其中,服务器识别信息可以是服务器的识别号或IP地址。例如,识别号可以是服务器的名称、编号等用于识别服务器唯一性的标识。
步骤S202、将所述服务器识别信息与所述灰度发布名单列表中的标识信息进行匹配。
需要说明的是,灰度发布名单列表包括每个灰度服务器对应的标识信息。
示例性的,可以将服务器识别信息与灰度发布名单列表中的标识信息进行匹配,以确定业务请求是否为灰度请求。可以理解的是,当服务器识别信息与灰度发布名单列表中的标识信息匹配时,说明业务请求的目的地为灰度服务器,从而可以确定业务请求为灰度请求。
步骤S203、若所述灰度发布名单列表中存在某个标识信息与所述服务器识别信息匹配,则确定所述业务请求为灰度请求。
示例性的,当灰度发布名单列表中存在某个标识信息与服务器识别信息匹配时,可以确定业务请求为灰度请求。
例如,当服务器识别信息为识别号时,例如识别号A,若识别号A与灰度发布名单列表中的某个识别号相同,则可以确定业务请求为灰度请求。
又例如,当服务器识别信息为IP地址时,例如IP地址address1,若IP地址address1与灰度发布名单列表中的某个IP地址相同,则可以确定业务请求为灰度请求。
步骤S204、若所述灰度发布名单列表中不存在标识信息与所述服务器识别信息匹配,则确定所述业务请求为非灰度请求。
示例性的,若灰度发布名单列表中不存在标识信息与服务器识别信息匹配,则可以确定业务请求为非灰度请求。
可以理解的是,当灰度发布名单列表中不存在标识信息与服务器识别信息匹配时,说明业务请求的目的地为非灰度服务器。
通过提取业务请求中的服务器识别信息,将服务器识别信息与灰度发布名单列表中的标识信息进行匹配,进而可以根据匹配结果便捷、准确地确定业务请求是灰度请求还是非灰度请求。
步骤S30、若所述业务请求为灰度请求,则将所述业务请求发送至每个所述灰度服务器,以使每个所述灰度服务器根据所述业务请求进行灰度环境验证,所述灰度环境验证用于对完成系统版本发布的每个所述灰度服务器进行功能验证。
示例性的,在确定业务请求为灰度请求时,微服务网关可以将业务请求发送至每个灰度服务器,以使每个灰度服务器根据业务请求进行灰度环境验证。其中,灰度环境验证用于对完成系统版本发布的每个灰度服务器进行功能验证。
可以理解的是,灰度环境是指线上仿真环境或者预发布环境,在系统版本上线之前,需要将系统发布到灰度环境进行功能验证,通过后再正式上线。
在本申请实施例中,灰度服务管理平台在确定待进行系统版本发布的目标微服务集群之后,可以对目标微服务集群中的每个灰度服务器进行系统版本发布。例如,可以将新的系统安装包发送至每个灰度服务器,由每个灰度服务器根据新的系统安装包进行系统版本更新。
示例性的,在完成系统版本更新后,可以根据业务请求对每个灰度服务器进行灰度环境验证。其中,灰度环境验证可以由灰度服务器自动完成,也可以由用户进行手动操作来完成。具体的灰度环境验证过程,在此不作限定;例如,灰度环境验证可以包括:验证灰度服务器是否能正常处理业务请求,根据处理过程中的异常信息进行系统调试等等。
通过在确定业务请求为灰度请求时,将业务请求发送至每个灰度服务器,可以使得每个灰度服务器根据业务请求进行灰度环境验证,实现目标微服务集群的灰度发布。
在一些实施例中,将业务请求发送至每个灰度服务器之前,还可以包括:对业务请求添加第一灰度属性值,第一灰度属性值用于标识业务请求为灰度请求。
示例性的,可以在业务请求的请求头中添加第一灰度属性值。第一灰度属性值可以是gray=true,用于表示业务请求为灰度请求。
在一些实施例中,将业务请求发送至每个灰度服务器,可以包括:将添加第一灰度属性值的业务请求发送至每个灰度服务器。
示例性的,将添加第一灰度属性值的业务请求发送至每个灰度服务器,可以包括:确定目标微服务集群中的目标灰度服务器,目标灰度服务器为对应灰度属性为第二灰度属性值的灰度服务器;将添加第一灰度属性值的业务请求发送至目标灰度服务器,以使目标灰度服务器根据第一灰度属性值,将添加第一灰度属性值的业务请求传递至目标微服务集群中的其它灰度服务器。
示例性的,微服务网关可以将目标微服务集群中灰度属性为第二灰度属性值的其中一个灰度服务器,确定为目标灰度服务器。需要说明的是,灰度服务管理平台在确定待进行系统版本发布的目标微服务集群之后,需要对目标微服务集群中的每个灰度服务器的灰度属性设置为第二灰度属性值。其中,灰度属性用于识别服务器是灰度服务器还是非灰度服务器。例如,第二灰度属性值可以为gray=true。当服务器为非灰度服务器时,可以将其灰度属性设置为gray=false。
通过灰度服务管理平台对目标微服务集群中的每个灰度服务器的灰度属性设置为第二灰度属性值,可以实现按需对微服务集群中的服务器的系统版本进行灰度发布,避免对整个微服务集群产生影响,降低了发布影响范围。需要说明的是,在现有的蓝绿发布方式中,由于开发团队的全部服务器耦合在同一个环境中,在系统版本发布时,需要对同一个环境中的全部服务器进行系统版本发布,从而会影响整个蓝环境的服务器或绿环境的服务器。
示例性的,微服务网关可以将添加第一灰度属性值的业务请求发送至目标灰度服务器,以使目标灰度服务器根据第一灰度属性值,将添加第一灰度属性值的业务请求传递至目标微服务集群中的其它灰度服务器。目标灰度服务器可以根据第一灰度属性值,识别出业务请求为灰度请求,进而可以将业务请求转发至其它灰度服务器,使得其它灰度服务器也可以根据业务请求进行灰度环境验证。
可以理解的是,在微服务集群中,各服务器需要相互协调、配合处理业务请求。例如,对于同一个灰度请求,可能需要多个灰度服务器配合处理。通过将添加第一灰度属性值的业务请求发送至目标灰度服务器,可以使得目标灰度服务器根据第一灰度属性值,将添加第一灰度属性值的业务请求传递至目标微服务集群中的其它灰度服务器,避免重复将第一灰度属性值的业务请求分别发送至每个灰度服务器,同时还可以实现由多个灰度服务器对业务请求进行协调处理。
在一些实施例中,将业务请求发送至每个灰度服务器之后,还可以包括:当接收到灰度服务管理平台发送的删除请求时,根据删除请求删除灰度发布名单列表,删除请求由灰度服务管理平台在确定每个灰度服务器灰度环境验证成功,对每个非灰度服务器进行系统版本发布之后生成。
需要说明的是,在本申请实施例中,当确定每个灰度服务器灰度环境验证成功时,可以对每个非灰度服务器进行系统版本发布。例如,当灰度服务管理平台接收到每个灰度服务器的验证成功消息时,可以将新的系统安装包发送至每个非灰度服务器,由每个非灰度服务器根据新的系统安装包进行系统版本更新。从而可以实现对整个目标微服务集群中的全部服务器进行系统版本发布。
示例性的,在完成每个非灰度服务器的系统版本发布之后,灰度服务管理平台可以生成一个用于删除灰度发布名单列表的删除请求;然后,将删除请求发送至微服务网关,由微服务网关根据删除请求删除保存的灰度发布名单列表。此外,灰度服务管理平台还可以重置每个灰度服务器的灰度属性;例如,将每个灰度服务器的灰度属性设置为gray=false。
通过根据灰度服务管理平台发送的删除请求时删除灰度发布名单列表,实现在完成微服务集群中的服务器的系统版本发布后,恢复微服务网关对业务请求的正常处理。
步骤S40、若所述业务请求为非灰度请求,则将所述业务请求发送至每个所述非灰度服务器,以使每个所述非灰度服务器根据所述业务请求进行业务处理。
在一些实施例中,当确定业务请求为非灰度请求时,可以基于预设的负载均衡策略,将业务请求发送至每个非灰度服务器。
示例性的,预设的负载均衡策略可以是轮询策略。例如,当有多个业务请求时,可以采用轮询策略,将多个业务请求均匀分发至每个非灰度服务器。
此外,预设的负载均衡策略还可以包括随机、加权轮询、IP Hash以及最少连接数等策略。
示例性的,每个非灰度服务器在接收到微服务网关发送的业务请求时,根据业务请求进行业务处理。其中,具体的业务处理过程,在此不作限定。
通过在确定业务请求为非灰度请求时,将业务请求发送至每个非灰度服务器,使得每个非灰度服务器根据业务请求进行业务处理,可以实现由微服务网关统一对业务请求进行控制,可以减少处理业务请求所需的资源。
上述实施例提供的灰度发布方法,通过获取灰度服务管理平台发送的灰度发布名单列表,进而可以在接收到业务请求时,根据灰度发布名单列表确定业务请求是否为灰度请求;通过根据灰度发布名单列表确定业务请求是否为灰度请求,可以实现由微服务网关根据灰度发布名单列表统一对业务请求进行处理,无需对每个服务器单独配置openresty平台进行业务请求控制,可以减少处理业务请求所需的资源,避免资源浪费;通过提取业务请求中的服务器识别信息,将服务器识别信息与灰度发布名单列表中的标识信息进行匹配,进而可以根据匹配结果便捷、准确地确定业务请求是灰度请求还是非灰度请求;通过在确定业务请求为灰度请求时,将业务请求发送至每个灰度服务器,可以使得每个灰度服务器根据业务请求进行灰度环境验证,实现目标微服务集群的灰度发布;通过将添加第一灰度属性值的业务请求发送至目标灰度服务器,可以使得目标灰度服务器根据第一灰度属性值,将添加第一灰度属性值的业务请求传递至目标微服务集群中的其它灰度服务器,避免重复将第一灰度属性值的业务请求分别发送至每个灰度服务器,同时还可以实现由多个灰度服务器对业务请求进行协调处理;通过根据灰度服务管理平台发送的删除请求时删除灰度发布名单列表,实现在完成微服务集群中的服务器的系统版本发布后,恢复微服务网关对业务请求的正常处理;通过在确定业务请求为非灰度请求时,将业务请求发送至每个非灰度服务器,使得每个非灰度服务器根据业务请求进行业务处理,可以实现由微服务网关统一对业务请求进行控制,可以减少处理业务请求所需的资源。
请参阅图4,图4是本申请的实施例还提供一种灰度发布装置1000的示意性框图,该灰度发布装置用于执行前述的灰度发布方法。其中,该灰度发布装置可以配置于计算机设备中。
如图4所示,该灰度发布装置1000,包括:名单列表获取模块1001、灰度请求判断模块1002、第一发送模块1003和第二发送模块1004。
名单列表获取模块1001,用于获取灰度服务管理平台发送的灰度发布名单列表,所述灰度发布名单列表为待进行系统版本发布的目标微服务集群的灰度发布名单列表,所述目标微服务集群包括至少一个灰度服务器与至少一个非灰度服务器。
灰度请求判断模块1002,用于当接收到业务请求时,根据所述灰度发布名单列表确定所述业务请求是否为灰度请求。
第一发送模块1003,用于若所述业务请求为灰度请求,则将所述业务请求发送至每个所述灰度服务器,以使每个所述灰度服务器根据所述业务请求进行灰度环境验证,所述灰度环境验证用于对完成系统版本发布的每个所述灰度服务器进行功能验证。
第二发送模块1004,用于若所述业务请求为非灰度请求,则将所述业务请求发送至每个所述非灰度服务器,以使每个所述非灰度服务器根据所述业务请求进行业务处理。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
请参阅图5,图5是本申请实施例提供的一种计算机设备的结构示意性框图。
请参阅图5,该计算机设备包括通过系统总线连接的处理器和存储器,其中,存储器可以包括存储介质和内存储器。所述存储介质既包括非易失性存储介质,也包括易失性存储介质。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种灰度发布方法。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取灰度服务管理平台发送的灰度发布名单列表,所述灰度发布名单列表为待进行系统版本发布的目标微服务集群的灰度发布名单列表,所述目标微服务集群包括至少一个灰度服务器与至少一个非灰度服务器;当接收到业务请求时,根据所述灰度发布名单列表确定所述业务请求是否为灰度请求;若所述业务请求为灰度请求,则将所述业务请求发送至每个所述灰度服务器,以使每个所述灰度服务器根据所述业务请求进行灰度环境验证,所述灰度环境验证用于对完成系统版本发布的每个所述灰度服务器进行功能验证;若所述业务请求为非灰度请求,则将所述业务请求发送至每个所述非灰度服务器,以使每个所述非灰度服务器根据所述业务请求进行业务处理。
在一个实施例中,所述处理器在实现根据所述灰度发布名单列表确定所述业务请求是否为灰度请求时,用于实现:
提取所述业务请求中的服务器识别信息;将所述服务器识别信息与所述灰度发布名单列表中的标识信息进行匹配;若所述灰度发布名单列表中存在某个标识信息与所述服务器识别信息匹配,则确定所述业务请求为灰度请求;若所述灰度发布名单列表中不存在标识信息与所述服务器识别信息匹配,则确定所述业务请求为非灰度请求。
在一个实施例中,所述处理器在实现将所述业务请求发送至每个所述灰度服务器之前,还用于实现:
对所述业务请求添加第一灰度属性值,所述第一灰度属性值用于标识所述业务请求为灰度请求。
在一个实施例中,所述处理器在实现将所述业务请求发送至每个所述灰度服务器时,用于实现:
将添加所述第一灰度属性值的业务请求发送至每个所述灰度服务器。
在一个实施例中,所述处理器在实现将添加所述第一灰度属性值的业务请求发送至每个所述灰度服务器时,用于实现:
确定所述目标微服务集群中的目标灰度服务器,所述目标灰度服务器为对应灰度属性为第二灰度属性值的灰度服务器;将添加所述第一灰度属性值的业务请求发送至所述目标灰度服务器,以使所述目标灰度服务器根据所述第一灰度属性值,将添加所述第一灰度属性值的业务请求传递至所述目标微服务集群中的其它灰度服务器。
在一个实施例中,所述处理器在实现将所述业务请求发送至每个所述灰度服务器之后,还用于实现:
当接收到所述灰度服务管理平台发送的删除请求时,根据所述删除请求删除所述灰度发布名单列表,所述删除请求由所述灰度服务管理平台在确定每个所述灰度服务器灰度环境验证成功,对每个所述非灰度服务器进行系统版本发布之后生成。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项灰度发布方法。
例如,该程序被处理器加载,可以执行如下步骤:
获取灰度服务管理平台发送的灰度发布名单列表,所述灰度发布名单列表为待进行系统版本发布的目标微服务集群的灰度发布名单列表,所述目标微服务集群包括至少一个灰度服务器与至少一个非灰度服务器;当接收到业务请求时,根据所述灰度发布名单列表确定所述业务请求是否为灰度请求;若所述业务请求为灰度请求,则将所述业务请求发送至每个所述灰度服务器,以使每个所述灰度服务器根据所述业务请求进行灰度环境验证,所述灰度环境验证用于对完成系统版本发布的每个所述灰度服务器进行功能验证;若所述业务请求为非灰度请求,则将所述业务请求发送至每个所述非灰度服务器,以使每个所述非灰度服务器根据所述业务请求进行业务处理。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字卡(Secure Digital Card,SD Card),闪存卡(Flash Card)等。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种灰度发布方法,其特征在于,应用于微服务网关,包括:
获取灰度服务管理平台发送的灰度发布名单列表,所述灰度发布名单列表为待进行系统版本发布的目标微服务集群的灰度发布名单列表,所述目标微服务集群包括至少一个灰度服务器与至少一个非灰度服务器;
当接收到业务请求时,根据所述灰度发布名单列表确定所述业务请求是否为灰度请求;
若所述业务请求为灰度请求,则将所述业务请求发送至每个所述灰度服务器,以使每个所述灰度服务器根据所述业务请求进行灰度环境验证,所述灰度环境验证用于对完成系统版本发布的每个所述灰度服务器进行功能验证;
若所述业务请求为非灰度请求,则将所述业务请求发送至每个所述非灰度服务器,以使每个所述非灰度服务器根据所述业务请求进行业务处理。
2.根据权利要求1所述的灰度发布方法,其特征在于,所述目标微服务集群由所述灰度服务管理平台根据系统版本发布信息与系统版本统计信息匹配确定,其中,所述系统版本发布信息包括待发布系统版本对应的第一版本号,所述系统版本统计信息包括每个微服务集群的当前系统版本对应的第二版本号。
3.根据权利要求1所述的灰度发布方法,其特征在于,所述灰度发布名单列表由所述灰度服务管理平台将每个所述灰度服务器对应的标识信息添加至预设的数据表生成。
4.根据权利要求3所述的灰度发布方法,其特征在于,所述根据所述灰度发布名单列表确定所述业务请求是否为灰度请求,包括:
提取所述业务请求中的服务器识别信息;
将所述服务器识别信息与所述灰度发布名单列表中的标识信息进行匹配;
若所述灰度发布名单列表中存在某个标识信息与所述服务器识别信息匹配,则确定所述业务请求为灰度请求;
若所述灰度发布名单列表中不存在标识信息与所述服务器识别信息匹配,则确定所述业务请求为非灰度请求。
5.根据权利要求1所述的灰度发布方法,其特征在于,所述将所述业务请求发送至每个所述灰度服务器之前,还包括:
对所述业务请求添加第一灰度属性值,所述第一灰度属性值用于标识所述业务请求为灰度请求;
所述将所述业务请求发送至每个所述灰度服务器,包括:
将添加所述第一灰度属性值的业务请求发送至每个所述灰度服务器。
6.根据权利要求5所述的灰度发布方法,其特征在于,所述将添加所述第一灰度属性值的业务请求发送至每个所述灰度服务器,包括:
确定所述目标微服务集群中的目标灰度服务器,所述目标灰度服务器为对应灰度属性为第二灰度属性值的灰度服务器;
将添加所述第一灰度属性值的业务请求发送至所述目标灰度服务器,以使所述目标灰度服务器根据所述第一灰度属性值,将添加所述第一灰度属性值的业务请求传递至所述目标微服务集群中的其它灰度服务器。
7.根据权利要求1-6任一项所述的灰度发布方法,其特征在于,所述将所述业务请求发送至每个所述灰度服务器之后,还包括:
当接收到所述灰度服务管理平台发送的删除请求时,根据所述删除请求删除所述灰度发布名单列表,所述删除请求由所述灰度服务管理平台在确定每个所述灰度服务器灰度环境验证成功,对每个所述非灰度服务器进行系统版本发布之后生成。
8.一种灰度发布装置,其特征在于,包括:
名单列表获取模块,用于获取灰度服务管理平台发送的灰度发布名单列表,所述灰度发布名单列表为待进行系统版本发布的目标微服务集群的灰度发布名单列表,所述目标微服务集群包括至少一个灰度服务器与至少一个非灰度服务器;
灰度请求判断模块,用于当接收到业务请求时,根据所述灰度发布名单列表确定所述业务请求是否为灰度请求;
第一发送模块,用于若所述业务请求为灰度请求,则将所述业务请求发送至每个所述灰度服务器,以使每个所述灰度服务器根据所述业务请求进行灰度环境验证,所述灰度环境验证用于对完成系统版本发布的每个所述灰度服务器进行功能验证;
第二发送模块,用于若所述业务请求为非灰度请求,则将所述业务请求发送至每个所述非灰度服务器,以使每个所述非灰度服务器根据所述业务请求进行业务处理。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7任一项所述的灰度发布方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7任一项所述的灰度发布方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111158176.6A CN113867782A (zh) | 2021-09-30 | 2021-09-30 | 灰度发布方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111158176.6A CN113867782A (zh) | 2021-09-30 | 2021-09-30 | 灰度发布方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113867782A true CN113867782A (zh) | 2021-12-31 |
Family
ID=79000913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111158176.6A Pending CN113867782A (zh) | 2021-09-30 | 2021-09-30 | 灰度发布方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113867782A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114401187A (zh) * | 2022-01-17 | 2022-04-26 | 中国工商银行股份有限公司 | 灰度发布方法、装置、计算机设备和存储介质 |
CN115314547A (zh) * | 2022-09-20 | 2022-11-08 | 北京结慧科技有限公司 | 微服务灰度发布方法、装置及系统、存储介质、电子设备 |
CN116594678A (zh) * | 2023-07-18 | 2023-08-15 | 太平金融科技服务(上海)有限公司 | 开发联调隔离方法、装置、计算机设备、存储介质 |
CN116755764A (zh) * | 2023-08-22 | 2023-09-15 | 山东浪潮数字商业科技有限公司 | 一种自动伸缩的无侵入式灰度发布系统 |
-
2021
- 2021-09-30 CN CN202111158176.6A patent/CN113867782A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114401187A (zh) * | 2022-01-17 | 2022-04-26 | 中国工商银行股份有限公司 | 灰度发布方法、装置、计算机设备和存储介质 |
CN114401187B (zh) * | 2022-01-17 | 2024-02-23 | 中国工商银行股份有限公司 | 灰度发布方法、装置、计算机设备和存储介质 |
CN115314547A (zh) * | 2022-09-20 | 2022-11-08 | 北京结慧科技有限公司 | 微服务灰度发布方法、装置及系统、存储介质、电子设备 |
CN116594678A (zh) * | 2023-07-18 | 2023-08-15 | 太平金融科技服务(上海)有限公司 | 开发联调隔离方法、装置、计算机设备、存储介质 |
CN116755764A (zh) * | 2023-08-22 | 2023-09-15 | 山东浪潮数字商业科技有限公司 | 一种自动伸缩的无侵入式灰度发布系统 |
CN116755764B (zh) * | 2023-08-22 | 2023-11-17 | 山东浪潮数字商业科技有限公司 | 一种自动伸缩的无侵入式灰度发布系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113867782A (zh) | 灰度发布方法、装置、计算机设备和存储介质 | |
CN111736872B (zh) | 灰度发布升级方法、装置、计算机系统及可读存储介质 | |
CN108256118B (zh) | 数据处理方法、装置、系统、计算设备以及存储介质 | |
CN106170763B (zh) | 一种软件校验方法和装置 | |
CN106027644B (zh) | 一种业务的校验方法及系统 | |
CN113867913A (zh) | 面向微服务的业务请求处理方法、装置、设备及存储介质 | |
CN110597719B (zh) | 一种用于适配测试的图像聚类方法、装置及介质 | |
CN111338893A (zh) | 进程日志处理方法、装置、计算机设备以及存储介质 | |
CN115168162B (zh) | 容器环境基于ingress控制器多灰度发布方法、设备及存储介质 | |
CN114328132A (zh) | 外部数据源的状态监控方法、装置、设备和介质 | |
CN104823410A (zh) | 参数设定系统 | |
CN114827161A (zh) | 服务调用请求发送方法、装置、电子设备及可读存储介质 | |
US20200412619A1 (en) | Network System, Topology Management Method, and Program | |
CN110162959A (zh) | 基于设备指纹的数据处理方法及装置 | |
CN106875184A (zh) | 异常场景模拟方法、装置及设备 | |
CN114338051B (zh) | 区块链获取随机数的方法、装置、设备和介质 | |
CN111666132B (zh) | 分布式事务实现方法、装置、计算机系统及可读存储介质 | |
CN113704107A (zh) | 应用测试方法、装置、设备及计算机可读存储介质 | |
CN114090242A (zh) | 模型训练方法、装置、设备、存储介质及程序产品 | |
CN113778709A (zh) | 接口调用方法、装置、服务器及存储介质 | |
CN115242658B (zh) | 开放系统访问方法、装置、计算机设备及存储介质 | |
CN114362968B (zh) | 区块链获取随机数的方法、装置、设备和介质 | |
CN110278120A (zh) | 一种测试环境的配适方法及代理服务器 | |
CN118394611B (zh) | 带外安装操作系统进度识别方法、装置、设备和介质 | |
CN115460077B (zh) | 配置信息的更新方法、装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |