CN112822272A - 微服务灰度发布方法及装置、计算机设备及存储介质 - Google Patents

微服务灰度发布方法及装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112822272A
CN112822272A CN202110021447.7A CN202110021447A CN112822272A CN 112822272 A CN112822272 A CN 112822272A CN 202110021447 A CN202110021447 A CN 202110021447A CN 112822272 A CN112822272 A CN 112822272A
Authority
CN
China
Prior art keywords
deployment
release
task
service
gray
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.)
Granted
Application number
CN202110021447.7A
Other languages
English (en)
Other versions
CN112822272B (zh
Inventor
彭亮
陈靖翔
项剑锋
林啸虎
唐倩男
王坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Ideal Information Industry Group Co Ltd
Original Assignee
Shanghai Ideal Information Industry Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Ideal Information Industry Group Co Ltd filed Critical Shanghai Ideal Information Industry Group Co Ltd
Priority to CN202110021447.7A priority Critical patent/CN112822272B/zh
Publication of CN112822272A publication Critical patent/CN112822272A/zh
Application granted granted Critical
Publication of CN112822272B publication Critical patent/CN112822272B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例涉及开发运营支撑技术领域,公开了一种微服务灰度发布方法及装置。其包括:初始化系统基础信息;拉取源代码,根据源代码编译构建出服务部署介质;根据部署目标环境,配置对应的服务部署后端,并初始化前置模块服务;配置发布过程中的部署参数;编排灰度发布流程,引用发布配置参数,生成灰度发布任务和灰度发布策略;根据编排的灰度发布流程,驱动发布流程执行,并根据灰度发布策略,控制灰度发布过程中的请求流量切换、执行过程,将发布日志记录发送到监控队列;根据监控队列中的发布日志记录,监控灰度发布任务的执行状态以及流量分布状态。本发明实施例可有效提高复杂业务系统的发布效率、稳定性和可监控性。

Description

微服务灰度发布方法及装置、计算机设备及存储介质
技术领域
本发明涉及开发运营支撑技术领域,特别是涉及一种微服务灰度发布方法及装置、计算机设备及存储介质。
背景技术
中国电信企业应用开发平台是一个为中国电信各业务系统提供一站式上云支撑管理的开发运营一体化平台。平台提供敏捷开发、持续集成、部署上线、自动化测试、安全审计、资源管理等开发运营一体化支撑能力,用于全面支撑新系统上云和老系统迁移上云,提升业务交付上云速度。
然而,随着分布式、微服务、容器化、灰度发布等技术的普及,系统部署发布复杂度越来越高。同时上云的各类系统形态多种多样,发布过程环节繁多、发布粒度不统一,部署方式各异,也给系统发布部署能力的设计实现带来了挑战,如何支撑业务实现自动化、稳定、高效的持续部署发布是企业应用开发平台面临的一大难题。
发明内容
有鉴于此,本发明实施例提供了一种微服务灰度发布方法及装置、计算机设备及存储介质,旨在有效提高复杂业务系统的发布效率、稳定性和可监控性,实现分布式云化架构的部署自动化、标准化、流程化,全面支持IT各类系统高效上云。
为解决上述技术问题,本发明实施例提供了一种微服务灰度发布方法,包括:初始化微服务灰度发布所需的系统基础信息;拉取源代码,根据所述源代码编译构建出服务部署介质,并存储到制品库;根据部署目标环境,配置对应的服务部署后端,并初始化前置模块服务;配置发布过程中的部署参数;编排灰度发布流程,引用发布配置参数,生成灰度发布任务和灰度发布策略;根据编排的灰度发布流程,驱动发布流程执行,并根据所述灰度发布策略,控制灰度发布过程中的请求流量切换、执行过程,将发布日志记录发送到监控队列;根据所述监控队列中的发布日志记录,监控所述灰度发布任务的执行状态以及流量分布状态。
本发明实施例还提供了一种微服务灰度发布装置,包括:基础信息管理模块,用于初始化微服务灰度发布所需的系统基础信息;持续集成模块,用于拉取源代码,根据所述源代码编译构建出服务部署介质,并存储到制品库;环境部署模块,用于根据部署目标环境,配置对应的服务部署后端,并初始化前置模块服务;发布配置模块,用于配置发布过程中的部署参数;发布流程编排模块,用于编排灰度发布流程,引用发布配置参数,生成灰度发布任务和灰度发布策略;发布流程引擎,用于根据编排的灰度发布流程,驱动发布流程执行,并根据所述灰度发布策略,控制灰度发布过程中的请求流量切换、执行过程,将发布日志记录发送到监控队列;发布监控模块,用于根据所述监控队列中的发布日志记录,监控所述灰度发布任务的执行状态以及流量分布状态。
本发明实施例还提供了一种计算机设备,包括:存储器和处理器,存储器存储计算机程序,处理器运行所述计算机程序以实现如前所述的方法。
本发明实施例还提供了一种计算机可读存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行如前所述的方法。
另外,所述根据部署目标环境,配置对应的服务部署后端,并初始化前置模块服务,包括:采用以下配置项配置所述服务部署后端:制品版本、部署方式、资源;配置后的所述服务部署后端支持配置失败是否执行,以控制此子任务执行失败后是否继续执行后续子任务;所述服务部署后端的部署方式包括:容器化部署、主机部署以及自定义部署。
另外,所述配置发布过程中的部署参数,包括:配置应用灰度发布任务信息;所述应用灰度发布任务信息包括:服务运行配置、服务执行配置;所述服务运行配置包括:CPU、内存以及部署目录。
另外,所述灰度发布任务流程包括以下流程模式:单任务、串行任务、并行任务模式以及组合任务模式;所述灰度发布任务流程的子任务包括以下任务类型:SQL脚本子任务、Shell脚本子任务、Webhook子任务、审核子任务、自动化测试子任务;所述灰度发布任务流程的子任务配置信息包括部署方式、部署地址、集群、命名空间、镜像、访问方式、启动参数、部署目录、部署脚本;所述灰度发布任务流程配置包括:配置访问上下文以及路由策略;其中,所述路由策略包括:流量分发策略;所述流量分配策略包括以下任意一者的规则配置:权重、IP、header、cookie。
另外,所述驱动发布流程执行,包括:按照单个微服务或者系统粒度控制灰度发布执行。
另外,所述编排灰度发布流程,引用发布配置参数,生成灰度发布任务和灰度发布策略,包括:在编排发布任务流程时,选择子任务节点类型,创建节点任务,并配置任务节点信息直到灰度发布流程创建完成;其中,配置任务节点信息包括:部署方式、部署地址、集群、命名空间、镜像;所述根据编排的灰度发布流程,驱动发布流程执行,并根据所述灰度发布策略,控制灰度发布过程中的请求流量切换、执行过程,包括:轮询灰度发布任务,加载灰度发布任务并执行,根据灰度发布任务配置中的部署目标环境信息,部署应用到对应目标环境;根据任务配置中灰度配置信息设置应用的灰度发布策略。
另外,所述装置还包括:任务管理模块,用于定义和管理发布任务,提供发布任务的增删改查功能;发布配置管理模块,用于管理发布任务中用到的可复用的发布配置;所述发布流程引擎,还用于提供发布流程的增删改查功能;所述发布监控模块,还用于接收所述监控队列中的发布监控数据,并从以下维度提供发布流程的监控试图:任务、服务、系统、时间线。
本发明实施例相对于现有技术而言,可提供部署、SQL执行、Shell执行、人工审核、流量切换、WebHook、自动化测试、通知等发布任务集,接收到用户可视化编排好的发布流程后,通过流程引擎创建流程实例,驱动发布流程的执行。根据配置,发布任务流程从部署成品库获取对应的介质,调用对应后端的部署发布能力,完成服务的发布,利用灰度发布控制模块,控制灰度发布过程中请求路由策略的配置,完成灰度发布,有效提高了微服务灰度发布的效率、稳定性和可监控性,保障了应用在部署发布阶段的业务连续性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,可以理解地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明一实施例提供的微服务灰度发布方法的流程图。
图2是本发明一实施例提供的微服务灰度发布装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本发明而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本发明所要求保护的技术方案。
本发明实施例提供一种微服务灰度发布方法,作为举例而非限制,该方法可应用于中国电信企业应用开发平台,以支撑系统灰度发布过程。如图1所示,该方法包括以下步骤:
步骤101:初始化微服务灰度发布所需的系统基础信息。
本实施例中,提供用于管理系统、应用、代码、用户、权限等基础信息的基础信息管理模块,从而为其他模块提供基础信息。在本发明具体实施例中,运行环境包括但不限于:JVM(Java Virtual Machine,简称JVM)虚拟机、Shell运行环境、Python运行环境。初始化的系统基础信息包括但不限于系统名称、应用名称。
步骤102:拉取源代码,根据所述源代码编译构建出服务部署介质,并存储到制品库。
本实施例中,提供持续集成模块,用于根据流水线配置持续构建集成、生成部署需要的jar包、容器镜像等制品,并保存到制品库,根据相应标准提供API(ApplicationProgramming Interface,应用程序接口)地址。具体而言,构建服务部署包包括但不限于:部署包(源代码编译、打包、上传部署包);镜像(镜像构建、同步镜像);上传shell脚本、python脚本等操作。
步骤103:根据部署目标环境,配置对应的服务部署后端,并初始化前置模块服务。
本实施例中,接收部署能力管理模块下发的部署命令,将前置模块部署在对应部署资源池中,完成部署接口的调用。
可选地,本实施例中,步骤103包括:采用以下配置项配置服务部署后端:制品版本、部署方式、资源,即部署适配服务用于部署应用,配置项包括:制品版本、部署方式、资源等具体部署相关参数配置。配置后的服务部署后端支持配置失败是否执行,以控制此子任务执行失败后是否继续执行后续子任务。服务部署后端的部署方式包括:容器化部署、主机部署以及自定义部署。其中,容器化部署是指通过配置集群、集群空间和具体部署配置项,将应用部署到目标集群的集群空间下。主机部署是指将应用部署到目标服务器,满足传统部署需要,通过配置主机,子任务执行时会将应用部署包传输到目标主机。,自定义部署提供标准API输入输出定义,外部部署平台需根据此标准提供API地址。
步骤104:配置发布过程中的部署参数。
本实施例中,配置发布过程中的部署参数可包括:配置应用灰度发布任务信息。应用灰度发布任务信息可以包括:服务运行配置、服务执行配置。服务运行配置包括:CPU、内存以及部署目录,然不限于此。
步骤105:编排灰度发布流程,引用发布配置参数,生成灰度发布任务和灰度发布策略。
本实施例中,提供发布流程编排模块,用于管理发布流程,提供发布流程的增删改查功能,负责发布流程实例的创建,并驱动发布流程的执行,根据灰度发布的策略,控制灰度发布的执行以及请求流量分发配置的变更。
可选地,本实施例中,可在应用开发系统提供的可视化UI操作界面,动态地创建组合多种不同模式应用灰度发布任务流程。其中,灰度发布任务流程包括以下流程模式:单任务、串行任务、并行任务模式以及组合任务模式。灰度发布任务流程的子任务包括以下任务类型:SQL脚本子任务、Shell脚本子任务、Webhook子任务、审核子任务、自动化测试子任务。灰度发布任务流程的子任务配置信息包括部署方式、部署地址、集群、命名空间、镜像、访问方式、启动参数、部署目录、部署脚本等。灰度发布任务流程配置包括:配置访问上下文以及路由策略。其中,路由策略包括:流量分发策略。流量分配策略包括以下任意一者的规则配置:权重、IP、header、cookie。
步骤106:根据编排的灰度发布流程,驱动发布流程执行,并根据灰度发布策略,控制灰度发布过程中的请求流量切换、执行过程,将发布日志记录发送到监控队列。
本实施例中,提供发布执行模块,用于对接各类部署后端的部署能力,管理前置模块,执行真实的部署发布指令。
可选地,步骤106驱动发布流程执行包括:按照单个微服务或者系统粒度(即多个微服务)控制灰度发布执行。
本实施例中,步骤105可以包括:在编排发布任务流程时,选择子任务节点类型,创建节点任务,并配置任务节点信息直到灰度发布流程创建完成;其中,配置任务节点信息:部署方式、部署地址、集群、命名空间、镜像。步骤106可以包括:发布流程引擎轮询灰度发布任务,根据编排的灰度发布流程,驱动发布流程执行,并根据灰度发布策略,控制灰度发布过程中的请求流量切换、执行过程,包括:轮询灰度发布任务,加载灰度发布任务并执行,根据灰度发布任务配置中的部署目标环境信息,部署应用到对应目标环境;根据任务配置中灰度配置信息设置应用的灰度发布策略。
步骤107:根据监控队列中的发布日志记录,监控灰度发布任务的执行状态以及流量分布状态。
本实施例中,提供发布监控模块,用于接收各模块写入到监控队列中的发布监控数据,并从任务、服务、系统、时间线等不同维度提供发布的监控视图。
下面对本发明微服务灰度发布方法的具体流程举例说明如下,该方法包括:
S201:在JVM中启动企业应用开发平台。
S202:持续集成模块根据系统基础信息中的源码地址从gitlab中拉取源代码,使用marven编译打包并上传到artifactory。
S203:持续集成模块根据dockerfile建镜像并将镜像push(上传)到镜像库harbor。
S204:部署适配服务根据选择部署目标环境,配置对应的服务部署后端,包含容器、传统主机(非容器)、自定义后端。
S205:部署适配服务配置对应发布过程中所需参数,包括CPU、内存、JVM参数等信息。
S206:发布流程编排模块编排发布任务流程,选择子任务节点类型。
S207:发布流程编排模块创建节点任务。
S208:发布流程编排模块配置任务节点信息:部署方式、部署地址、集群、命名空间、镜像等。
S209:确定任务流程是否创建完成,若完成,则执行S210,若否,重复执行S206~S209直到任务流程创建完成。
S210:灰度发布任务流程配置服务配置应用灰度发布策略。
S211:发布流程编排模块提交应用灰度发布任务。
S212:发布流程引擎轮询灰度发布任务。
S213:发布流程引擎加载灰度发布任务并执行,根据灰度发布任务配置中的部署目标环境信息,部署应用到对应目标环境。
S214:发布流程引擎根据任务配置中灰度配置信息设置应用的灰度发布策略。
S215:发布流程引擎记录应用灰度发布任务执行结果以及状态。
S216:发布监控模块加载任务配置信息,监控部署任务执行状态以及监控灰度流量分布状态。
本发明实施例的微服务灰度发布方法与现有技术相比,提供部署、SQL执行、Shell执行、人工审核、流量切换、WebHook、自动化测试、通知等发布任务集,接收到用户可视化编排好的发布流程后,通过流程引擎创建流程实例,驱动发布流程的执行。根据配置,发布任务流程从部署成品库获取对应的介质,调用对应后端的部署发布能力,完成服务的发布,利用灰度发布控制模块,控制灰度发布过程中请求路由策略的配置,完成灰度发布,有效提高了微服务灰度发布的效率、稳定性和可监控性,保障了应用在部署发布阶段的业务连续性。
本发明实施例还提供一种微服务灰度发布装置200,可配置于中国电信企业应用开发平台。如图2所示,本实施例的微服务灰度发布装置200包括:
基础信息管理模块201,用于初始化微服务灰度发布所需的系统基础信息。
本实施例中,基础信息管理模块201用于管理系统、应用、代码、用户、权限等基础信息,从而为其他模块提供基础信息。在本发明具体实施例中,运行环境包括但不限于:JVM(Java Virtual Machine,简称JVM)虚拟机、Shell运行环境、Python运行环境。初始化的系统基础信息包括但不限于系统名称、应用名称。
持续集成模块202,用于拉取源代码,根据所述源代码编译构建出服务部署介质,并存储到制品库。持续集成模块202,用于根据流水线配置持续构建集成、生成部署需要的jar包、容器镜像等制品,并保存到制品库,根据相应标准提供API地址。
环境部署模块203,用于根据部署目标环境,配置对应的服务部署后端,并初始化前置模块服务。环境部署模块203,用于接收部署能力管理模块下发的部署命令,将前置模块部署在对应部署资源池中,完成部署接口的调用。
发布配置模块204,用于配置发布过程中的部署参数。
发布流程编排模块205,用于编排灰度发布流程,引用发布配置参数,生成灰度发布任务和灰度发布策略。
发布流程引擎206,用于根据编排的灰度发布流程,驱动发布流程执行,并根据所述灰度发布策略,控制灰度发布过程中的请求流量切换、执行过程,将发布日志记录发送到监控队列。
发布监控模块207,用于根据所述监控队列中的发布日志记录,监控所述灰度发布任务的执行状态以及流量分布状态。
可选地,该装置200还可以还包括:
任务管理模块,用于定义和管理发布任务,提供发布任务的增删改查功能;以及发布配置管理模块,用于管理发布任务中用到的可复用的发布配置。
可选地,发布流程引擎206,还可以用于提供发布流程的增删改查功能。
另外,发布监控模块207,还可以用于接收监控队列中的发布监控数据,并从以下维度提供发布流程的监控试图:任务、服务、系统、时间线。
本发明实施例的微服务灰度发布装置与现有技术相比,提供部署、SQL执行、Shell执行、人工审核、流量切换、WebHook、自动化测试、通知等发布任务集,接收到用户可视化编排好的发布流程后,通过流程引擎创建流程实例,驱动发布流程的执行。根据配置,发布任务流程从部署成品库获取对应的介质,调用对应后端的部署发布能力,完成服务的发布,利用灰度发布控制模块,控制灰度发布过程中请求路由策略的配置,完成灰度发布,有效提高了微服务灰度发布的效率、稳定性和可监控性,保障了应用在部署发布阶段的业务连续性。
本发明一实施例还提供一种计算机设备。该设备包括:存储器、处理器;
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行以实现前述实施例所述的方法。
该计算机设备包括一个或多个处理器以及存储器,本发明实施例以一个处理器为例。处理器、存储器可以通过总线或者其他方式连接。存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
一个或者多个模块存储在存储器中,当被一个或者多个处理器执行时,执行上述任意方法实施方式中的微服务灰度发布方法。
本发明实施例的计算机设备与现有技术相比,提供部署、SQL执行、Shell执行、人工审核、流量切换、WebHook、自动化测试、通知等发布任务集,接收到用户可视化编排好的发布流程后,通过流程引擎创建流程实例,驱动发布流程的执行。根据配置,发布任务流程从部署成品库获取对应的介质,调用对应后端的部署发布能力,完成服务的发布,利用灰度发布控制模块,控制灰度发布过程中请求路由策略的配置,完成灰度发布,有效提高了微服务灰度发布的效率、稳定性和可监控性,保障了应用在部署发布阶段的业务连续性。
上述设备可执行本发明实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本发明实施方式所提供的方法。
本申请一实施例还提供一种非易失性存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (10)

1.一种微服务灰度发布方法,其特征在于,包括:
初始化微服务灰度发布所需的系统基础信息;
拉取源代码,根据所述源代码编译构建出服务部署介质,并存储到制品库;
根据部署目标环境,配置对应的服务部署后端,并初始化前置模块服务;
配置发布过程中的部署参数;
编排灰度发布流程,引用发布配置参数,生成灰度发布任务和灰度发布策略;
根据编排的灰度发布流程,驱动发布流程执行,并根据所述灰度发布策略,控制灰度发布过程中的请求流量切换、执行过程,将发布日志记录发送到监控队列;
根据所述监控队列中的发布日志记录,监控所述灰度发布任务的执行状态以及流量分布状态。
2.根据权利要求1所述的微服务灰度发布方法,其特征在于,所述根据部署目标环境,配置对应的服务部署后端,并初始化前置模块服务,包括:
采用以下配置项配置所述服务部署后端:制品版本、部署方式、资源;
配置后的所述服务部署后端支持配置失败是否执行,以控制此子任务执行失败后是否继续执行后续子任务;
所述服务部署后端的部署方式包括:容器化部署、主机部署以及自定义部署。
3.根据权利要求1所述的微服务灰度发布方法,其特征在于,所述配置发布过程中的部署参数,包括:
配置应用灰度发布任务信息;所述应用灰度发布任务信息包括:服务运行配置、服务执行配置;所述服务运行配置包括:CPU、内存以及部署目录。
4.根据权利要求1所述的微服务灰度发布方法,其特征在于,所述灰度发布任务流程包括以下流程模式:单任务、串行任务、并行任务模式以及组合任务模式;
所述灰度发布任务流程的子任务包括以下任务类型:SQL脚本子任务、Shell脚本子任务、Webhook子任务、审核子任务、自动化测试子任务;
所述灰度发布任务流程的子任务配置信息包括部署方式、部署地址、集群、命名空间、镜像、访问方式、启动参数、部署目录、部署脚本;
所述灰度发布任务流程配置包括:配置访问上下文以及路由策略;其中,所述路由策略包括:流量分发策略;所述流量分配策略包括以下任意一者的规则配置:权重、IP、header、cookie。
5.根据权利要求1所述的微服务灰度发布方法,其特征在于,所述驱动发布流程执行,包括:
按照单个微服务或者系统粒度控制灰度发布执行。
6.根据权利要求1所述的微服务灰度发布方法,其特征在于,所述编排灰度发布流程,引用发布配置参数,生成灰度发布任务和灰度发布策略,包括:
在编排发布任务流程时,选择子任务节点类型,创建节点任务,并配置任务节点信息直到灰度发布流程创建完成;其中,配置任务节点信息包括:部署方式、部署地址、集群、命名空间、镜像;
所述根据编排的灰度发布流程,驱动发布流程执行,并根据所述灰度发布策略,控制灰度发布过程中的请求流量切换、执行过程,包括:
轮询灰度发布任务,加载灰度发布任务并执行,根据灰度发布任务配置中的部署目标环境信息,部署应用到对应目标环境;根据任务配置中灰度配置信息设置应用的灰度发布策略。
7.一种微服务灰度发布装置,其特征在于,包括:
基础信息管理模块,用于初始化微服务灰度发布所需的系统基础信息;
持续集成模块,用于拉取源代码,根据所述源代码编译构建出服务部署介质,并存储到制品库;
环境部署模块,用于根据部署目标环境,配置对应的服务部署后端,并初始化前置模块服务;
发布配置模块,用于配置发布过程中的部署参数;
发布流程编排模块,用于编排灰度发布流程,引用发布配置参数,生成灰度发布任务和灰度发布策略;
发布流程引擎,用于根据编排的灰度发布流程,驱动发布流程执行,并根据所述灰度发布策略,控制灰度发布过程中的请求流量切换、执行过程,将发布日志记录发送到监控队列;
发布监控模块,用于根据所述监控队列中的发布日志记录,监控所述灰度发布任务的执行状态以及流量分布状态。
8.根据权利要求7所述的微服务灰度发布装置,其特征在于,所述装置还包括:
任务管理模块,用于定义和管理发布任务,提供发布任务的增删改查功能;发布配置管理模块,用于管理发布任务中用到的可复用的发布配置;
所述发布流程引擎,还用于提供发布流程的增删改查功能;
所述发布监控模块,还用于接收所述监控队列中的发布监控数据,并从以下维度提供发布流程的监控试图:任务、服务、系统、时间线。
9.一种计算机设备,其特征在于,包括:存储器和处理器,存储器存储计算机程序,处理器运行所述计算机程序以实现如权利要求1至7中任一项所述的方法。
10.计算机可读存储介质,其特征在于,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行如权利要求1至7中任一项所述的方法。
CN202110021447.7A 2021-01-08 2021-01-08 微服务灰度发布方法及装置、计算机设备及存储介质 Active CN112822272B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110021447.7A CN112822272B (zh) 2021-01-08 2021-01-08 微服务灰度发布方法及装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110021447.7A CN112822272B (zh) 2021-01-08 2021-01-08 微服务灰度发布方法及装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN112822272A true CN112822272A (zh) 2021-05-18
CN112822272B CN112822272B (zh) 2023-10-13

Family

ID=75868712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110021447.7A Active CN112822272B (zh) 2021-01-08 2021-01-08 微服务灰度发布方法及装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112822272B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238735A (zh) * 2021-05-27 2021-08-10 欧冶云商股份有限公司 一种可定义流水的项目交付任务创建方法、平台及系统
CN113608880A (zh) * 2021-09-29 2021-11-05 深圳市信润富联数字科技有限公司 算法模型部署系统
CN113791759A (zh) * 2021-09-09 2021-12-14 上海仙塔智能科技有限公司 代码开发的处理方法、装置、电子设备与存储介质
CN113934446A (zh) * 2021-12-16 2022-01-14 中电云数智科技有限公司 一种基于容器云平台的微服务配置系统及方法
CN114594999A (zh) * 2022-01-28 2022-06-07 阿里巴巴(中国)有限公司 发布文件的方法、装置、存储介质及系统
CN115237818A (zh) * 2022-09-26 2022-10-25 浩鲸云计算科技股份有限公司 一种基于全链路标识实现多环境复用的方法及系统
CN115499317A (zh) * 2022-11-15 2022-12-20 阿里云计算有限公司 灰度验证方法、电子设备和可读存储介质
CN117215596A (zh) * 2023-08-02 2023-12-12 广州优谷信息技术有限公司 基于Helm的灰度发布方法、装置、电子设备及介质
CN117290022A (zh) * 2023-11-24 2023-12-26 成都瀚辰光翼生物工程有限公司 一种控制程序生成方法、存储介质和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108038051A (zh) * 2017-11-03 2018-05-15 深圳市牛鼎丰科技有限公司 微服务的发布方法、装置、计算机设备和存储介质
US20190332522A1 (en) * 2018-04-27 2019-10-31 Satori Worldwide, Llc Microservice platform with messaging system
CN110798502A (zh) * 2019-09-18 2020-02-14 平安科技(深圳)有限公司 基于微服务框架的灰度发布方法、装置和计算机设备
CN110958314A (zh) * 2019-11-28 2020-04-03 盛业信息科技服务(深圳)有限公司 服务的灰度发布方法、装置和计算机设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108038051A (zh) * 2017-11-03 2018-05-15 深圳市牛鼎丰科技有限公司 微服务的发布方法、装置、计算机设备和存储介质
US20190332522A1 (en) * 2018-04-27 2019-10-31 Satori Worldwide, Llc Microservice platform with messaging system
CN110798502A (zh) * 2019-09-18 2020-02-14 平安科技(深圳)有限公司 基于微服务框架的灰度发布方法、装置和计算机设备
CN110958314A (zh) * 2019-11-28 2020-04-03 盛业信息科技服务(深圳)有限公司 服务的灰度发布方法、装置和计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
楼晔;彭宇;杨朝;: "银行系统互联网服务灰度发布的应用实践", 金融电子化, no. 03, pages 64 - 66 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238735A (zh) * 2021-05-27 2021-08-10 欧冶云商股份有限公司 一种可定义流水的项目交付任务创建方法、平台及系统
CN113791759A (zh) * 2021-09-09 2021-12-14 上海仙塔智能科技有限公司 代码开发的处理方法、装置、电子设备与存储介质
CN113608880A (zh) * 2021-09-29 2021-11-05 深圳市信润富联数字科技有限公司 算法模型部署系统
CN113934446A (zh) * 2021-12-16 2022-01-14 中电云数智科技有限公司 一种基于容器云平台的微服务配置系统及方法
CN113934446B (zh) * 2021-12-16 2022-04-22 中电云数智科技有限公司 一种基于容器云平台的微服务配置系统及方法
CN114594999B (zh) * 2022-01-28 2023-09-12 阿里巴巴(中国)有限公司 发布文件的方法、装置、存储介质及系统
CN114594999A (zh) * 2022-01-28 2022-06-07 阿里巴巴(中国)有限公司 发布文件的方法、装置、存储介质及系统
CN115237818A (zh) * 2022-09-26 2022-10-25 浩鲸云计算科技股份有限公司 一种基于全链路标识实现多环境复用的方法及系统
CN115499317A (zh) * 2022-11-15 2022-12-20 阿里云计算有限公司 灰度验证方法、电子设备和可读存储介质
CN115499317B (zh) * 2022-11-15 2023-04-07 阿里云计算有限公司 灰度验证方法、电子设备和可读存储介质
CN117215596A (zh) * 2023-08-02 2023-12-12 广州优谷信息技术有限公司 基于Helm的灰度发布方法、装置、电子设备及介质
CN117290022A (zh) * 2023-11-24 2023-12-26 成都瀚辰光翼生物工程有限公司 一种控制程序生成方法、存储介质和电子设备
CN117290022B (zh) * 2023-11-24 2024-02-06 成都瀚辰光翼生物工程有限公司 一种控制程序生成方法、存储介质和电子设备

Also Published As

Publication number Publication date
CN112822272B (zh) 2023-10-13

Similar Documents

Publication Publication Date Title
CN112822272A (zh) 微服务灰度发布方法及装置、计算机设备及存储介质
US10735345B2 (en) Orchestrating computing resources between different computing environments
US9307019B2 (en) Apparatus, systems and methods for deployment and management of distributed computing systems and applications
US7823023B2 (en) Test framework for testing an application
US20120290706A1 (en) State control of remote hosts for management of distributed applications
JP7143417B2 (ja) コンピューティング・デバイス
US20130227560A1 (en) Mechanism for System Resource Sharing in a Multi-Tenant Platform-as-a-Service (PaaS) Environment in a Cloud Computing System
CN111176818B (zh) 分布式预测的方法、装置、系统、电子设备及存储介质
US20170357485A1 (en) Optimizing a build process by scaling build agents based on system need
US11431563B1 (en) Intelligent management of cloud infrastructures using a cloud management platform
US8010576B2 (en) Inventory and configuration management
CN116028163A (zh) 一种容器组的动态链接库调度方法、装置及存储介质
CN117112122A (zh) 一种集群部署方法和装置
US11645098B2 (en) Systems and methods to pre-provision sockets for serverless functions
CN111651169A (zh) 基于web容器的区块链智能合约运行方法及系统
CN115202820A (zh) Pod单元的创建方法、装置、设备及存储介质
CN114860401A (zh) 异构云桌面调度系统、方法、服务系统、装置及介质
CN117859309A (zh) 自动选择在其上执行任务的节点
CN111381867B (zh) 支持服务重构的打包部署方法及装置
CN112564979A (zh) 构建任务的执行方法、装置、计算机设备和存储介质
Solayman et al. Seamless Integration of DevOps Tools for Provisioning Automation of the IoT Application on Multi-Infrastructures
CN115314381B (zh) 一种自动部署方法、装置与计算设备
US11822914B2 (en) Upgrade for relational database dependent application
US11513782B1 (en) Unrestricted to restricted computing framework
EP4036720B1 (en) Hash optimized composition cache for isolated execution environments

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Peng Liang

Inventor after: Chen Jingxiang

Inventor after: Xiang Jianfeng

Inventor after: Lin Xiaohu

Inventor after: Tang Qiannan

Inventor after: Wang Kun

Inventor before: Peng Liang

Inventor before: Chen Jingxiang

Inventor before: Xiang Jianfeng

Inventor before: Lin Xiaohu

Inventor before: Tang Qiannan

Inventor before: Wang Kun

GR01 Patent grant
GR01 Patent grant