一种云服务部署方法和系统与流程

文档序号:16096954发布日期:2018-11-27 23:41阅读:170来源:国知局

本发明涉及云服务微服务技术,尤指一种云服务部署方法和系统。



背景技术:

当前,云计算逐渐被行业认可,人们通过云计算获取所需云服务已经成为常态。随着分布式微服务的发展,最终提供给用户的云服务都是由很多微服务组成的,这就给云服务的部署带来了巨大的挑战。为了保证云服务的快速交付以及质量,通常的云服务部署都是人工或者自动的预先部署,在部署完成后再查看云服务中的各个微服务是否可用,最终交付客户。但是,如果交付的云服务中间某个微服务不可用,就会造成整个云服务不可用,需要重新排查、修复,耗时耗力。



技术实现要素:

为了解决上述技术问题,本发明提供了一种云服务部署方法和系统,通过在部署时对部署微服务的节点进行部署检查,确定节点安装环境正常后再安装软件完成部署。解决了云服务部署后知后觉、故障排查困难的问题,实现了自动、可靠的微服务部署。

为了达到本发明目的,本发明提供了一种云服务部署方法,包括:

对微服务节点组中的各个节点进行部署检查;

在存在部署检查结果为失败的节点时,重新选择节点替换所述部署检查结果为失败的节点加入所述微服务节点组;

在所述微服务节点组中进行微服务软件包安装。

优选的,对微服务节点组中的的各个节点进行部署检查的步骤之后,还包括:

在所述微服务节点组中的各个节点均通过所述部署检查时,在所述微服务节点组进行微服务软件包安装。

优选的,在所述微服务节点组中进行微服务软件包安装的步骤之后,还包括:

在无法获取更多节点替换所述微服务节点组中部署检查结果为失败的节点时,取消云服务微服务的部署。

优选的,对微服务节点组中的各个节点进行部署检查的步骤之前,还包括:

部署管理接收并解析根据云服务元数据构建的部署消息,获取微服务节点组,所述微服务节点组包含多个节点;

向所述微服务节点组中的各个节点分发微服务软件包。

本发明还提供了一种云服务部署系统,包括:

部署检查模块,用于对微服务节点组中的各个节点进行部署检查;

部署节点替换模块,用于在存在部署检查结果为失败的节点时,重新选择节点替换所述部署检查结果为失败的节点加入所述微服务节点组;

软件安装模块,用于在所述微服务节点组中进行微服务软件包安装。

优选的,所述软件安装模块,还用于在所述微服务节点组中的各个节点均通过所述部署检查时,在所述微服务节点组进行微服务软件包安装。

优选的,所述软件安装模块,还用于在无法获取更多节点替换所述微服务节点组中部署检查结果为失败的节点时,取消云服务微服务的部署。

优选的,该系统还包括:

部署管理模块,用于接收并解析云服务元数据构建的部署消息,获取微服务节点组,所述微服务节点组包含多个节点,向所述微服务节点组中的各个节点分发微服务软件包。

本发明提供了一种云服务部署方法和系统,对微服务节点组中的各个节点进行部署检查,在存在部署检查结果为失败的节点时,重新选择节点替换所述部署检查结果为失败的节点加入所述微服务节点组,在所述微服务节点组中进行微服务软件包安装。解决了云服务部署后知后觉、故障排查困难的问题,实现了自动、可靠的微服务部署。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明的一实施例提供的一种云服务部署方法的流程示意图;

图2为本发明的一实施例提供的一种云服务部署系统的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明的实施例提供了一种云服务部署方法和系统。下面结合附图,对本发明的实施例进行详细说明。

本发明的一实施例提供了一种云服务部署方法,使用该方法部署微服务的流程如图1所示,包括:

步骤101、部署管理接收并解析根据云服务元数据构建的部署消息,获取微服务节点组,所述微服务节点组包含多个节点。

本步骤中,部署管理接收并解析根据云服务元数据构建的部署消息,根据消息内容制定相应的部署方式,获取微服务节点组和各个微服务对应的微服务软件包。

微服务节点组包含多个节点,每个节点上部署一个或多个微服务。

步骤102、对微服务节点组中的各个节点进行部署检查。

本步骤中,对各个节点进行部署检查,以确定节点工作状态是否满足微服务所需要的安装环境。

在所述微服务节点组中的各个节点均通过所述部署检查时,直接进入步骤104,在所述微服务节点组进行微服务软件包安装。

在存在部署检查结果为失败的节点时,进入步骤103重新选择节点。

优选的,也可能当所有节点都检查成功,或者少量节点检查失败时,进入第二阶段,进行微服务软件包的安装。如果检查失败的节点数量较多,则重新选择节点检查微服务,直到所有检查都通过。如果最终执行检查还是有部分节点失败,则取消安装。

步骤103、在存在部署检查结果为失败的节点时,重新选择节点替换所述部署检查结果为失败的节点加入所述微服务节点组。

在本步骤中完成节点替换后,需要回到步骤102再进行一次部署检查,如果仍存在部署检查失败的节点,则需要再进行一次节点替换。当可用的节点的数量达不到部署检查失败的节点数量,或部署检查的次数超过了预置的检查次数门限,无法获取更多节点替换所述微服务节点组中部署检查结果为失败的节点时,进入步骤106,取消云服务微服务的部署。

步骤104、向所述微服务节点组中的各个节点分发微服务软件包。

步骤105、在所述微服务节点组中进行微服务软件包安装。

步骤106、在无法获取更多节点替换所述微服务节点组中部署检查结果为失败的节点时,取消云服务微服务的部署。

本发明的一实施例还提供了一种云服务部署系统,基于2PC两阶段提交协议,并采用预防大于治理的思想对微服务及环境进行管理,在此基础上,对微服务组件的部署进行标准化,满足对saas服务治理的开放兼容、高扩展需求。微服务组件必须具有可检查、可执行、可取消等三大特性。可执行及可取消必须满足幂等性(特点是其任意多次执行所产生的影响均与一次执行的影响相同)。该系统包含结构管理、部署管理,其中部署管理包含协调控制器及执行组件,结构管理主要管理所选云服务的元数据,会根据其标配、高配等不同维度设定相关的参数,用户也可以自定义参数,部署管理在接收到结构管理发送过来的消息后,根据消息内容制定相应的部署方式,选择节点、微服务包,然后分发软件包到相应节点,第一阶段先执行微服务组件的可检查接口检查微服务是否可以部署,当所有微服务都检查成功,或者某一个检查失败,进入第二阶段,如果都成功则执行所有微服务的执行安装操作,如果有部分失败,则重新选择节点检查微服务,直到所有检查都通过。执行安装,如果最终执行检查还是有部分失败,则取消安装。

基于上述系统完成云服务微服务部署的流程具体如下:

(1)结构管理接收到客户服务请求。

(2)根据云服务元数据获取所需基础微服务,发送部署消息给部署管理。

(3)部署管理接收到部署消息,解析消息体选择节点构成微服务节点组及微服务软件安装包。

(4)协调控制器调用各微服务检查接口进行部署检查,检查各节点上的微服务安装环境。至此,为云服务微服务部署的第一阶段。

(5)记录各微服务部署检查情况,当所有微服务部署检查成功进入第二阶段进行可执行安装。

(6)对于部署检查失败的节点,部署管理重新选择节点替换该部署检查失败的节点,分发微服务软件包,协调控制器再次进行部署检查,直到全部节点部署检查成功,进入第二阶段执行安装。

(7)如果最终还是有部分节点的部署检查失败,则进入第二阶段取消所有安装。

本发明的一实施例还提供了一种云服务部署系统,该系统的结构如图2所示,包括:

部署检查模块201,用于对微服务节点组中的各个节点进行部署检查;

部署节点替换模块202,用于在存在部署检查结果为失败的节点时,重新选择节点替换所述部署检查结果为失败的节点加入所述微服务节点组;

软件安装模块203,用于在所述微服务节点组中进行微服务软件包安装。

优选的,所述软件安装模块203,还用于在所述微服务节点组中的各个节点均通过所述部署检查时,在所述微服务节点组进行微服务软件包安装。

优选的,所述软件安装模块203,还用于在无法获取更多节点替换所述微服务节点组中部署检查结果为失败的节点时,取消云服务微服务的部署。

优选的,该系统还包括:

部署管理模块204,用于接收并解析云服务元数据构建的部署消息,获取微服务节点组,所述微服务节点组包含多个节点,向所述微服务节点组中的各个节点分发微服务软件包。

本发明的实施例提供了一种云服务部署方法和系统,对微服务节点组中的各个节点进行部署检查,在存在部署检查结果为失败的节点时,重新选择节点替换所述部署检查结果为失败的节点加入所述微服务节点组,在所述微服务节点组中进行微服务软件包安装。解决了云服务部署后知后觉、故障排查困难的问题,实现了自动、可靠的微服务部署。

可基于2PC进行云服务自动部署,打破了普通先安装后检查的方式基于2PC采用预防大于治理的思想设定微服务安装标准(可检测、可执行、可取消)实现服务的自动安装部署,大大降低了云服务微服务的部署难度,提早检测,提高了部署质量。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1