零停机时间部署和回滚制造技术

技术编号:13466669 阅读:61 留言:0更新日期:2016-08-04 22:32
提供了用于零或近零停机时间部署和回滚的系统和方法。在示例实施例中,向应用服务器部署第二应用,所述应用服务器正在运行与服务器计算机的端口绑定的第一应用。在第二应用未与端口绑定的情况下,启动第二应用。在第一应用与端口绑定的同时,将第二应用与端口绑定。然后在将第二应用与端口绑定之后,将第一应用从端口解绑。

【技术实现步骤摘要】
【国外来华专利技术】相关申请本国际申请要求2014年10月30日递交的美国专利申请序列号No.14/528,916和2013年11月19日递交的美国临时专利申请序列号No.61/906,253的优先权,这两个申请的全部内容通过引用的方式合并于此。
本公开的实施例一般涉及计算机技术,并更具体地但不以限制的方式涉及零停机时间(downtime)部署和回滚(rollback)。
技术介绍
实施服务器计算机上的应用通常涉及与服务器计算机相关联的一段停机时间。在典型场景中,通过禁用去往服务器计算机的网络业务,停止应用的当前版本,取消部署应用的当前版本,部署应用的新版本,启动应用的新版本,并最终启用去往服务器计算机的网络业务来实施应用的新版本。当以高频率对大量服务器计算机实施应用时,停机时间会是显著的并且成本高昂。附图说明所附各附图仅示出本公开的示例实施例,并不应当认为限制本公开的范围。图1是示出根据一些示例实施例的联网系统的框图。图2是示出根据一些示例实施例的实施系统的示例实施例的框图。图3是根据一些示例实施例的示出在示例场景中负载均衡器与服务器计算机之间的通信耦合的框图。图4是根据一些示例实施例的示出用于实现服务器计算机上的应用的示例方法的流程示图。图5是根据一些示例实施例的示出用于使用同时应用绑定来实施服务器计算机上的应用的示例方法的流程示图。图6是根据一些示例实施例的示出用于为服务器计算机的端口设置绑定选项的示例方法的流程示图。图7是根据一些示例实施例的示出用于回滚服务器计算机上的应用的实施的示例方法的流程示图。图8根据示例实施例的示出计算机系统形式的机器的图示表示,在所述计算机系统内,可以执行指令集合,以使机器执行此处讨论的方法中的任意一个或多个。此处提供的标题仅为方便起见,而不影响所使用的术语的范围或含义。具体实施方式以下说明书包括系统、方法、技术、指令序列和体现本公开的说明实施例的计算机程序产品。在下文的描述中,为了解释的目的,阐述了大量细节以提供对专利技术主旨的各实施例的理解。然而,本领域技术人员将显而易见的是,专利技术主旨的实施例可以在没有这些具体细节的情况下实践。通常,不必具体示出公知的指令实例、协议、结构和技术。为了服务大量的网络业务,可以采用大量运行特定版本应用的服务器。例如,包括成千上万的服务器的池可以正在运行特定应用以满足网络业务需要。更新或实现应用版本的传统技术会导致停机时间。在以高频率更新很大池的服务器时,即使每次更新花费几分钟的停机时间也会累积成许多天的停机时间。在示例实施例中,可以采用延迟的端口绑定以近零停机时间向一个或更多个服务器计算机实施一个或更多个应用。在该实施例中,第一服务器正在运行,并绑定至服务器计算机上的端口。向服务器计算机部署第二应用,并在未与端口绑定的情况下启动第二应用。在该实施例中,在部署并启动第二应用之后禁用服务器计算机处接收到的网络业务。然后将第一应用从端口解绑。紧跟在将第一应用从端口解绑之后,第二应用与端口绑定并启用去往服务器计算机的网络业务。用这种方式,通过首先准备第二应用然后执行与绑定到端口的应用的交换,使服务器的停机时间最小化。在各种实施例中,可以在服务器计算机或应用的端口被配置为允许一次将一个应用与端口绑定的情况下使用该技术。在另一示例实施例中,可以使用高级端口绑定技术以零停机时间部署应用。在该示例实施例中,第一应用与服务器计算机的端口绑定,并后续地服务于在服务器计算机处接收到的网络业务。在各种实施例中,使用允许同时将多于一个应用与端口绑定的服务器计算机选项(例如,套接字选项,例如SO_REUSEPORT)将第一应用与端口绑定。可以向服务器计算机部署第二应用,并在未与端口绑定的情况下启动第二应用。后续地,在第一应用正服务于网络业务的同时,第二应用与第一应用的相同端口绑定。因此,在该实施例中,在服务器接收机正服务于网络业务时,第一应用和第二应用同时与端口绑定。在第二应用与端口绑定之后,将第一应用解绑并取消部署。在该实施例中,在服务器计算机处接收到的网络业务在第二应用的部署生命周期和第一应用的卸载期间连续地被服务。用这种方式,可以以零停机时间在服务器计算机上部署第二应用。参照图1,示出高层的基于客户端服务器网络架构100的示例实施例。联网系统102经由网络104(例如,互联网或广域网(WAN))向客户端设备110提供服务侧功能。在一些实施方式中,用户(例如,用户106)使用客户端设备110与联网系统102交互。图1示出例如在客户端设备110上执行的web客户端112(例如,浏览器,例如华盛顿州的雷德蒙德的公司开发的Internet浏览器)、客户端应用114,和编程客户端116。客户端设备110单独、共同、或用任意合适组合包括web客户端112、客户端应用114和编程客户端116。尽管图1示出一个客户端设备110,在其他实施方式中,网络架构100包括多个客户端设备。在各种实施方式中,客户端设备110包括计算设备,该计算设备至少包括显示器和提供经由网络104对联网系统102访问的通信能力。客户端设备110包括但不限于远程设备、工作站、计算机、通用目的计算机、互联网家电、手持设备、无线设备、便携式设备、可穿戴计算机、蜂窝或移动电话、便携式数字助理(PDA)、智能电话、平板电脑、超级本、上网本、膝上型计算机、台式机、多处理器系统、基于微处理器的或可编程消费电子产品、游戏控制台、机顶盒、网络个人计算机(PC)、迷你计算机等。在示例实施例中,客户端设备110包括触摸屏、加速度计、陀螺仪、生物识别传感器、摄像头、麦克风、全球定位系统(GPS)设备等中的一个或更多个。客户端设备110经由有线或无线连接与网络104通信。例如,网络104的一个或多个部分是ad-hoc网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网的一部分、公共电话交换网(PSTN)的一部分、蜂窝电话网、无线网络、无线保真网络、全球互通微波存取(WiMax)网络、网络、另一类型的网络或其任意合适组合。在一些示例实施例中,客户端设备110包括一个或更多个应用(也称为“app”),例如但不限于网络浏览器、图书阅读器应用(可操作本文档来自技高网...

【技术保护点】
一种系统,包括:部署模块,用于:向服务器计算机部署第二应用,所述服务器计算机正在运行与服务器计算机的端口绑定的第一应用;在第二应用未与端口绑定的情况下,启动第二应用;由机器的至少一个硬件处理器实现的绑定模块,用于:在第一应用与端口绑定的同时,将第二应用与端口绑定;以及在第二应用与端口绑定之后,将第一应用从端口解绑。

【技术特征摘要】
【国外来华专利技术】2013.11.19 US 61/906,253;2014.10.30 US 14/528,9161.一种系统,包括:
部署模块,用于:
向服务器计算机部署第二应用,所述服务器计算机正在运行
与服务器计算机的端口绑定的第一应用;
在第二应用未与端口绑定的情况下,启动第二应用;
由机器的至少一个硬件处理器实现的绑定模块,用于:
在第一应用与端口绑定的同时,将第二应用与端口绑定;以

在第二应用与端口绑定之后,将第一应用从端口解绑。
2.根据权利要求1所述的系统,其中所述部署模块还在将第一
应用从端口解绑之后,从服务器计算机取消对第一应用的部署。
3.根据权利要求1所述的系统,其中所述绑定模块还使用允许
同时将多于一个应用与端口绑定的服务器计算机选项,将第一应用与
端口绑定。
4.根据权利要求3所述的系统,其中所述服务器计算机选项包
括SO_REUSEPORT。
5.根据权利要求1所述的系统,其中,所述绑定模块还用于:
在第一应用从端口解绑之后,保持第一应用的当前状态;
响应于回滚命令,在第二应用与端口绑定的同时,将第一应用与
端口绑定;以及
响应于回滚命令,在第一应用与端口绑定之后,将第二应用与端
口解绑。
6.根据权利要求1所述的系统,其中服务器计算机在将第二应
用与端口绑定并将第一应用从端口解绑的同时,接收网络业务。
7.根据权利要求1所述的系统,其中两个或更多个应用同时与
端口绑定。
8.一种方法,包括:
向服务器计算机部署第二应用,所述服务器计算机正在运行与服

\t务器计算机的端口绑定的第一应用;
通过机器的硬件处理器,在第二应用未与端口绑定的情况下,发
起第二应用;
在第一应用与端口绑定的同时,将第二应用与端口绑定;以及
在第二应用与端口绑定之后,将第一应用从端口解绑。
9.根据权利要求8所述的方法,还包括:
在将第一应用从端口解绑之后,从服务器计算机取消对第一应用
的部署。
10.根据权利要求8所述的方法,还包括:
使用允许同时将多于一个应用与端口绑定的套接字选项,...

【专利技术属性】
技术研发人员:苏雷什·马修吉加尔·钱德坎特·德萨尔库马·瑞森卡勒斯万那拉亚南·森格拉姆克瑞史那坎斯·巴特
申请(专利权)人:电子湾有限公司
类型:发明
国别省市:美国;US

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

1