1.一种灰度发布方法,包括:
响应于目标对象的灰度发布请求,由流程控制引擎驱动版本部署流程来将所述目标对象的不同版本部署在服务器集群上,其中,所述目标对象的新版本被部署在所述服务器集群的灰度服务器上,所述目标对象的旧版本被部署在所述服务器集群的非灰度服务器上;
由所述流程控制引擎驱动灰度爬坡流程按照灰度爬坡策略来获得灰度验证结果,其中,灰度爬坡策略用于表征流入所述灰度服务器的灰度用户的用户流量依次增大的m个灰度阶段,m为正整数;
在所述灰度验证结果表明符合灰度拉齐条件的情况下,由所述流程控制引擎驱动灰度拉齐流程将所述目标对象的新版本部署在所述非灰度服务器上,来完成所述目标对象的灰度发布。
2.根据权利要求1所述的方法,其中,所述由所述流程控制引擎驱动灰度爬坡流程按照灰度爬坡策略来获得灰度验证结果包括:
由所述流程控制引擎驱动部署验证流程来获得所述灰度服务器的部署验证结果;
在所述灰度服务器的部署验证结果表明部署验证通过的情况下,由所述流程控制引擎驱动灰度验证流程来获得所述灰度服务器的灰度验证结果;
在所述灰度服务器的灰度验证结果表明灰度验证通过的情况下,由所述流程控制引擎驱动灰度期切换流程来将所述目标对象的灰度发布切换至灰度期;
由所述流程控制引擎驱动所述灰度爬坡流程按照所述灰度爬坡策略来获得灰度验证结果。
3.根据权利要求2所述的方法,其中,所述方法还包括:
在所述灰度服务器的部署验证结果表明部署验证未通过的情况下,由所述流程控制引擎停止所述目标对象的灰度发布;和/或
在所述灰度服务器的灰度验证结果表明灰度验证未通过的情况下,由所述流程控制引擎驱动所述灰度期切换流程来将所述目标对象的灰度发布切换至异常期。
4.根据权利要求1所述的方法,其中,所述由所述流程控制引擎驱动灰度爬坡流程按照灰度爬坡策略来获得灰度验证结果包括:
针对所述m个灰度阶段中的每个灰度阶段,获得流入所述灰度服务器的灰度用户的用户流量;
由所述流程控制引擎驱动所述灰度爬坡流程来确定所述灰度服务器的数量是否满足流入所述灰度服务器的灰度用户的用户流量;
在所述灰度服务器的数量不满足流入所述灰度服务器的灰度用户的用户流量的情况下,增加所述服务器集群中灰度服务器的数量来获得扩容后的灰度服务器;
由所述流程控制引擎驱动所述灰度验证流程来获得所述扩容后的灰度服务器的灰度验证结果;
在所述扩容后的灰度服务器的灰度验证结果表明灰度验证通过的情况下,由所述流程控制引擎驱动灰度爬坡流程按照灰度爬坡策略来获得灰度验证结果。
5.根据权利要求4所述的方法,其中,所述方法还包括:
在所述扩容后的灰度服务器的灰度验证结果表明灰度验证未通过的情况下,由所述流程控制引擎终止所述灰度爬坡流程;
由所述流程控制引擎驱动所述灰度期切换流程来将所述目标对象的灰度发布切换至异常期。
6.根据权利要求4所述的方法,其中,所述方法还包括:
在将所述目标对象的新版本部署在所述非灰度服务器上之后,获得流入所述扩容后的灰度服务器的灰度用户的用户流量;
由所述流程控制引擎驱动所述灰度爬坡流程来确定所述扩容后的灰度服务器的数量是否满足流入所述扩容后的灰度服务器的灰度用户的用户流量;
在所述扩容后的灰度服务器的数量不满足流入所述扩容后的灰度服务器的灰度用户的用户流量的情况下,减少所述服务器集群中灰度服务器的数量来获得缩容后的灰度服务器。
7.根据权利要求1所述的方法,其中,所述方法还包括:
由所述流程控制引擎驱动灰度验证流程来获得所述非灰度服务器的灰度验证结果;
在所述非灰度服务器的灰度验证结果表明灰度验证通过的情况下,由所述流程控制引擎驱动灰度期切换流程来将所述目标对象的灰度发布切换至非灰度期。
8.根据权利要求7所述的方法,其中,所述方法还包括:
在所述非灰度服务器的灰度验证结果表明灰度验证未通过的情况下,由所述流程控制引擎驱动灰度期切换流程来将所述目标对象的灰度发布切换至应急期;
由所述流程控制引擎驱动灰度应急流程来将所述目标对象的新版本回退至所述目标对象的旧版本。
9.根据权利要求1所述的方法,其中:
针对所述m个灰度阶段中的第m个灰度阶段,在所述灰度服务器的灰度验证通过的情况下,确定所述灰度验证结果表明符合所述灰度拉齐条件。
10.一种灰度发布装置,包括:
版本部署模块,用于响应于目标对象的灰度发布请求,由流程控制引擎驱动版本部署流程来将所述目标对象的不同版本部署在服务器集群上,其中,所述目标对象的新版本被部署在所述服务器集群的灰度服务器上,所述目标对象的旧版本被部署在所述服务器集群的非灰度服务器上;
灰度爬坡模块,用于由所述流程控制引擎驱动灰度爬坡流程按照灰度爬坡策略来获得灰度验证结果,其中,灰度爬坡策略用于表征流入所述灰度服务器的灰度用户的用户流量依次增大的m个灰度阶段,m为正整数;
灰度发布模块,用于在所述灰度验证结果表明符合灰度拉齐条件的情况下,由所述流程控制引擎驱动灰度拉齐流程将所述目标对象的新版本部署在所述非灰度服务器上,来完成所述目标对象的灰度发布。
11.一种电子设备,包括:
一个或多个处理器;以及
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时使处理器执行根据权利要求1至9中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时执行根据权利要求1至9中任一项所述的方法。