一种CAE集群模式下Web应用程序的不停机部署方法技术

技术编号:17615079 阅读:67 留言:0更新日期:2018-04-04 06:26
本发明专利技术提供一种CAE集群模式下Web应用程序的不停机部署方法,属于应用程序部署技术领域,基于云应用引擎下Web部署完全自动化、无需人工干预的特性,本方法采用的技术方案为:首先申请集群模式的CAE服务,包含一个代理节点,至少两个Web应用程序运行节点;其次,CAE服务为代理节点加上标签Proxy,为每一个Web应用程序运行节点加上标签App;再次,把需要部署的Web应用程序上传到CAE服务中;最后,部署应用程序,CAE服务会根据配置的部署规则,分批次把应用程序部署到App节点,直到把所有的App节点部署完成。本方法能够做到不停机部署Web应用程序,不影响用户访问Web应用程序,用户感觉不到Web应用程序的更新,体验效果好。

A non stop deployment method for Web applications in CAE cluster mode

The invention provides a CAE cluster of Web applications without stopping the deployment method, belonging to the technical field of application deployment, characteristics of cloud application engine under Web to deploy fully automated, without manual intervention based on the technical scheme of the method is as follows: firstly the application cluster model of CAE services, including a proxy node, at least two Web applications that run on nodes; secondly, the CAE service proxy node label Proxy, for each Web application running node tag App; thirdly, the need to deploy Web applications uploaded to the CAE service; finally, the deployment of applications, CAE services will be deployed according to the configuration rules in batches, deploying the application to the App node, until all App nodes deployed. This method can deploy Web applications without stopping, without affecting user access to Web applications, users feel no update of Web applications, and experience effect is good.

【技术实现步骤摘要】
一种CAE集群模式下Web应用程序的不停机部署方法
本专利技术涉及Web应用程序的部署,具体地说是一种CAE集群模式下Web应用程序的不停机部署方法。
技术介绍
CAE(CloudApplicationEngine,云应用引擎)服务是一种快速创建稳定可靠、可弹性伸缩的应用托管环境服务。用户不需要关心部署Web应用程序所需要的软件环境、session共享、负载均衡等问题,只需要做简单的配置,上传自己的Web应用程序,剩下的事情由CAE服务来完成。在CAE服务中,部署Web应用程序,完全是自动化的,不需要人工干预的。传统的人工干预的Web应用程序的部署,由于不影响已上线应用的使用,往往会在生产环境以外,在复制出一套环境,用来部署新的应用程序,待部署完成,没有问题之后,代理节点在切换到新系统供用户使用。基于此,提出一种CAE集群模式下Web应用程序的不停机部署方法,做到不停机部署应用,不影响用户访问应用。
技术实现思路
本专利技术的技术任务是解决现有技术的不足,提供一种CAE集群模式下Web应用程序的不停机部署方法,做到不停机部署应用,不影响用户访问应用。本专利技术的技术方案是按以下方式实现的:一种CAE集群模式下Web应用程序的不停机部署方法,该方法首先申请集群模式的CAE服务,包含一个代理节点,至少两个Web应用程序运行节点;其次,CAE服务为代理节点加上标签Proxy,为每一个Web应用程序运行节点加上标签App;再次,把需要部署的Web应用程序上传到CAE服务中;最后,部署应用程序,CAE服务会根据配置的部署规则,分批次把应用程序部署到App节点,直到把所有的App节点部署完成。所涉及标签的作用包括:CAE服务可以根据标签向不同标签的节点分别发送不同的信号,Proxy节点负责路由的重写,App节点负责部署应用程序,检查应用程序是否可用以及错误回滚。所涉及方法的具体实现步骤包括:(1)选择一个部署规则,分批次部署应用程序,可以是每个批次部署一个节点,也可以是一个百分比;(2)根据选择的部署规则,如果是每个批次部署一个节点,则继续下面的步骤;如果是一个百分比,则根据App节点的总个数和选择的百分比数,计算出每个批次更新的节点数;(3)缓存记录要部署的CAE服务实例的ID、部署批次、以及每个批次部署的节点个数;(4)CAE服务选择第一个批次,根据批次对应的节点个数,从CAE服务实例中选择对应的App节点发送部署命令,更新缓存中第一个批次的数据,设置标志位:部署中,记录该批次部署的节点ID,以至于下一个批次不会选择已经部署的节点;(5)CAE服务向App节点,发送部署命令,并且获取Proxy节点,向Proxy节点发送即将部署的App节点命令;(6)Proxy节点接受到即将部署的App节点命令之后,断开相应的路由;App节点接收到部署命令之后,如果此CAE服务实例已经部署过当前应用程序的一个版本,则需要备份当前运行的程序到指定位置;(7)CAE服务端接受到App节点返回的结果,进行处理:如果部署成功,则等待当前所有批次部署完成;如果部署失败,CAE服务同时向Proxy节点发送当前App节点部署失败的命令,以及向App节点发送程序回滚命令;(8)Proxy节点接收到App节点部署失败的命令之后,则恢复当前App节点的路由;App节点接收到程序回滚命令之后,则相应的还原之前Web容器中运行的程序版本,并且重启Web容器;(9)如果是App节点部署失败,完成步骤(7)后,整个部署过程就结束;(10)如果是App节点部署成功,则循环执行步骤(4)(5)(6)(7)(8)(9);如果所有的批次都成功,则向Proxy节点发送所有的App节点都部署成功的命令;(11)Proxy节点接受到部署成功的命令之后,则恢复所有的App节点的路由,部署结束。所涉及步骤(6)中,备份当前运行的程序到指定位置的操作包括:首先,停止Web容器;其次,获取Web应用程序;再次,将Web应用程序部署到Web容器中;然后,启动Web应用程序,并且检查是否启动成功,应用是否正常访问,最后,返回一个结果,发送到CAE服务端。本专利技术的一种CAE集群模式下Web应用程序的不停机部署方法与现有技术相比所产生的有益效果是:本专利技术方法能够做到不停机部署Web应用程序,不影响用户访问Web应用程序,用户感觉不到Web应用程序的更新,体验效果好。附图说明附图1是本专利技术方法的具体实施流程图。具体实施方式为了更好的说明本专利技术,现结合具体实施例以及说明书附图对技术方案做进一步的说明。虽然实施例中记载了这些具体的实施方式,然其并非用以限定本专利技术,任何所述
中具有通常知识者,在不脱离本专利技术的精神和范围内,当可作些许的更动和润饰,故本专利技术的保护范围当视权利要求书所界定者为准。如附图1所示,本专利技术的一种CAE集群模式下Web应用程序的不停机部署方法,该方法首先申请集群模式的CAE服务,包含一个代理节点,至少两个Web应用程序运行节点;其次,CAE服务为代理节点加上标签Proxy,为每一个Web应用程序运行节点加上标签App;再次,把需要部署的Web应用程序上传到CAE服务中;最后,部署应用程序,CAE服务会根据配置的部署规则,分批次把应用程序部署到App节点,直到把所有的App节点部署完成。所涉及标签的作用包括:CAE服务可以根据标签向不同标签的节点分别发送不同的信号,Proxy节点负责路由的重写,App节点负责部署应用程序,检查应用程序是否可用以及错误回滚。参考附图1,所涉及方法的具体实现步骤包括:(1)选择一个部署规则,分批次部署应用程序,可以是每个批次部署一个节点,也可以是一个百分比;(2)根据选择的部署规则,如果是每个批次部署一个节点,则继续下面的步骤;如果是一个百分比,则根据App节点的总个数和选择的百分比数,计算出每个批次更新的节点数;(3)缓存记录要部署的CAE服务实例的ID、部署批次、以及每个批次部署的节点个数;(4)CAE服务选择第一个批次,根据批次对应的节点个数,从CAE服务实例中选择对应的App节点发送部署命令,更新缓存中第一个批次的数据,设置标志位:部署中,记录该批次部署的节点ID,以至于下一个批次不会选择已经部署的节点;(5)CAE服务向App节点,发送部署命令,并且获取Proxy节点,向Proxy节点发送即将部署的App节点命令;(6)Proxy节点接受到即将部署的App节点命令之后,断开相应的路由;App节点接收到部署命令之后,如果此CAE服务实例已经部署过当前应用程序的一个版本,则需要备份当前运行的程序到指定位置;(7)CAE服务端接受到App节点返回的结果,进行处理:如果部署成功,则等待当前所有批次部署完成;如果部署失败,CAE服务同时向Proxy节点发送当前App节点部署失败的命令,以及向App节点发送程序回滚命令;(8)Proxy节点接收到App节点部署失败的命令之后,则恢复当前App节点的路由;App节点接收到程序回滚命令之后,则相应的还原之前Web容器中运行的程序版本,并且重启Web容器;(9)如果是App节点部署失败,完成步骤(7)后,整个部署过程就结束;(10)如果是App节点部署成功,则循环执行步骤(4)(5)(6)(7)(8本文档来自技高网
...
一种CAE集群模式下Web应用程序的不停机部署方法

【技术保护点】
一种CAE集群模式下Web应用程序的不停机部署方法,其特征在于,该方法首先申请集群模式的CAE服务,包含一个代理节点,至少两个Web应用程序运行节点;其次,CAE服务为代理节点加上标签Proxy,为每一个Web应用程序运行节点加上标签App;再次,把需要部署的Web应用程序上传到CAE服务中;最后,部署应用程序,CAE服务会根据配置的部署规则,分批次把应用程序部署到App节点,直到把所有的App节点部署完成。

【技术特征摘要】
1.一种CAE集群模式下Web应用程序的不停机部署方法,其特征在于,该方法首先申请集群模式的CAE服务,包含一个代理节点,至少两个Web应用程序运行节点;其次,CAE服务为代理节点加上标签Proxy,为每一个Web应用程序运行节点加上标签App;再次,把需要部署的Web应用程序上传到CAE服务中;最后,部署应用程序,CAE服务会根据配置的部署规则,分批次把应用程序部署到App节点,直到把所有的App节点部署完成。2.根据权利要求1所述的一种CAE集群模式下Web应用程序的不停机部署方法,其特征在于,所述标签的作用包括:CAE服务可以根据标签向不同标签的节点分别发送不同的信号,Proxy节点负责路由的重写,App节点负责部署应用程序,检查应用程序是否可用以及错误回滚。3.根据权利要求1所述的一种CAE集群模式下Web应用程序的不停机部署方法,其特征在于,所述方法的具体实现步骤包括:(1)选择一个部署规则,分批次部署应用程序,可以是每个批次部署一个节点,也可以是一个百分比;(2)根据选择的部署规则,如果是每个批次部署一个节点,则继续下面的步骤;如果是一个百分比,则根据App节点的总个数和选择的百分比数,计算出每个批次更新的节点数;(3)缓存记录要部署的CAE服务实例的ID、部署批次、以及每个批次部署的节点个数;(4)CAE服务选择第一个批次,根据批次对应的节点个数,从CAE服务实例中选择对应的App节点发送部署命令,更新缓存中第一个批次的数据,设置标志位:部署中,记录该批次部署的节点ID,以至于下一个批次不会选择已经部署的节点;(5)C...

【专利技术属性】
技术研发人员:寇立强
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1