一种微服务自动部署方法及装置与流程

文档序号:16879816发布日期:2019-02-15 22:01阅读:293来源:国知局
一种微服务自动部署方法及装置与流程

本发明涉及微服务技术领域,特别是涉及一种微服务自动部署方法及装置。



背景技术:

微应用架构是典型的分布式架构,其在具备高性能、高可靠、易扩展等优势的同时,也会引入如下问题:节点多,应用微服务化后,微服务的数量将显著增加并且更新频繁,通过人工部署的方式工作量巨大且容易出错,需要引入自动化部署能力降低部署成本,提高部署效率。



技术实现要素:

为解决上述技术问题,本发明实施例提供了一种微服务自动部署方法及装置,技术方案如下:

一种微服务自动部署方法,包括:

标准化待部署的微服务的应用运行环境,得到标准化应用运行环境;

在所述标准化应用运行环境下,获取与微服务相关的关键环节;

将所述关键环节形成典型事件;

将所述典型事件与脚本进行绑定;

判断所述典型事件是否被触发;

若是,执行与所述典型事件绑定的脚本。

优选地,所述应用运行环境包括:

基础运行环境和具体的运行环境;

所述基础运行环境由计算、存储和/或网络规格提供;

所述具体的运行环境由中间件、数据库和/或负载均衡器提供。

优选地,所述关键环节包括:

虚拟机启动时间点、所述中间件启动时间点和/或所述数据库启动时间点。

优选地,执行与所述典型事件绑定的脚本,包括:

按预设顺序启动虚拟机、所述中间件和所述数据库。

优选地,将所述关键环节形成典型事件,包括:

按照预设策略对所述关键环节进行标准化处理,从而得到所述典型事件。

一种微服务自动部署装置,包括:

标准化单元,用于标准化待部署的微服务的应用运行环境,得到标准化应用运行环境;

获取单元,在所述标准化应用运行环境下,获取与微服务相关的关键环节;

形成单元,用于将所述关键环节形成典型事件;

绑定单元,用于将所述典型事件与脚本进行绑定;

判断单元,用于判断所述典型事件是否被触发;

执行单元,用于当所述判断单元确定所述典型事件被触发时,执行与所述典型事件绑定的脚本。

优选地,所述应用运行环境包括:

基础运行环境和具体的运行环境;

所述基础运行环境由计算、存储和/或网络规格提供;

所述具体的运行环境由中间件、数据库和/或负载均衡器提供。

优选地,所述关键环节包括:

虚拟机启动时间点、所述中间件启动时间点和/或所述数据库启动时间点。

优选地,所述执行单元,包括:

执行子单元,用于按预设顺序启动虚拟机、所述中间件和所述数据库。

优选地,所述形成单元,包括:

形成子单元,用于按照预设策略对所述关键环节进行标准化处理,从而得到所述典型事件。

本发明实施例提供的技术方案,为了实现微服务的自动部署,标准化微服务的应用运行环境,通过梳理将与微服务相关的关键环节形成典型事件,并将典型事件与脚本进行绑定,从而在典型事件被触发时,执行与典型事件绑定的脚本。可见,本发明针对微服务体量小的特点,快速提供运行所需服务,通过服务组装为微应用提供完整的运行环境,实现微应用环境的自动构建。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

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

图2为本发明实施例所提供的一种微服务自动部署装置的一种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,图1为本发明实施例提供的一种微服务自动部署方法的一种实现流程图,该方法包括:

步骤s101、标准化待部署的微服务的应用运行环境,得到标准化应用运行环境。

微服务为微应用提供底层服务支撑。微服务与微应用的区别为微应用具有用户界面,而微服务不具有用户界面。

微应用是一个独立的、可交付给用户使用的应用实体,和传统应用相比,微应用呈现出功能少、体量轻,能够快速交付和敏捷响应需求变更的特征。

采用微应用建设模式,对于开发人员可通过微应用开发框架快速构建应用;对于运维人员可通过一键式部署能力快速交付应用;对于业务用户可通过应用商店定制自己关注的微应用,提升业务专注度。

所谓标准化指的是将微服务运行中涉及到的组件进行改造,使得它们可以共同运行在一个相同的环境中,消除它们之间的差异,做到统一管理、统一访问。是需要做一些特殊处理,如为它们制定相同的基础镜像、相同的启动事件等。

微服务的应用运行环境包括基础运行环境和具体的运行环境。

其中,计算、存储和网络规格为微服务的运行提供基础的运行环境,计算为应用提供cpu内存等资源、存储提供硬盘等资源、网络提供网络带宽等。

中间件、数据库、负载均衡器等为应用提供具体的运行环境,如tomcat、weblogic、jboss等与数据库环境如mysql、postgressql、oracle;负载工具如nginx、haproxy等。

步骤s102、在所述标准化应用运行环境下,获取与微服务相关的关键环节。

微服务相关的关键环节包括底层虚机的启动时间点、中间件启动时间点、数据库启动时间点。获得这些关键时间点可以为应用的启动做编排以更好的处理这些应用。

步骤s103、将所述关键环节形成典型事件。

通过梳理可以将关键环节形成典型事件。

所谓梳理指的是根据微服务从开发到运行到后期维护所涉及的软硬件资源特点进行归纳分类,做一些标准化的处理。在梳理过程中所采用的预设策略为按运行环境进行归类、然后进行处理。

步骤s104、将所述典型事件与脚本进行绑定。

本实施例中的脚本可以是由shell语言编写或puppet语言编写。

步骤s105、判断所述典型事件是否被触发,若是,执行步骤s106。

步骤s106、执行与所述典型事件绑定的脚本。

执行与典型事件对应的脚本时是按照预设顺序启动底层虚机、中间件启动时间点和数据库。如若已启动虚拟机,接下来可以启动中间件,而后启动数据库。

本实施例中的虚拟机也可以用docker容器代替,docker容器完全使用沙箱机制,相互之间不会有任何接口,几乎没有性能开销,可以很容易地在机器和数据中心中运行,也可以简单理解为一个简单的虚拟机,可以为应用提供基础的操作系统环境。

本发明实施例提供的技术方案,为了实现微服务的自动部署,标准化微服务的应用运行环境,通过梳理将与微服务相关的关键环节形成典型事件,并将典型事件与脚本进行绑定,从而在典型事件被触发时,执行与典型事件绑定的脚本。可见,本发明针对微服务体量小的特点,快速提供运行所需服务,通过服务组装为微应用提供完整的运行环境,实现微应用环境的自动构建。

请参阅图2,图2为本发明实施例提供的一种微服务自动部署装置的一种结构示意图,该装置包括:

标准化单元210,用于标准化待部署的微服务的应用运行环境,得到标准化应用运行环境。

微服务为微应用提供底层服务支撑。微服务与微应用的区别为微应用具有用户界面,而微服务不具有用户界面。

微应用是一个独立的、可交付给用户使用的应用实体,和传统应用相比,微应用呈现出功能少、体量轻,能够快速交付和敏捷响应需求变更的特征。

采用微应用建设模式,对于开发人员可通过微应用开发框架快速构建应用;对于运维人员可通过一键式部署能力快速交付应用;对于业务用户可通过应用商店定制自己关注的微应用,提升业务专注度。

所谓标准化指的是将微服务运行中涉及到的组件进行改造,使得它们可以共同运行在一个相同的环境中,消除它们之间的差异,做到统一管理、统一访问。是需要做一些特殊处理,如为它们制定相同的基础镜像、相同的启动事件等。

微服务的应用运行环境包括基础运行环境和具体的运行环境。

其中,计算、存储和网络规格为微服务的运行提供基础的运行环境,计算为应用提供cpu内存等资源、存储提供硬盘等资源、网络提供网络带宽等。

中间件、数据库、负载均衡器等为应用提供具体的运行环境,如tomcat、weblogic、jboss等与数据库环境如mysql、postgressql、oracle;负载工具如nginx、haproxy等。

获取单元220,在所述标准化应用运行环境下,获取与微服务相关的关键环节。

微服务相关的关键环节包括底层虚机的启动时间点、中间件启动时间点、数据库启动时间点。获得这些关键时间点可以为应用的启动做编排以更好的处理这些应用。

形成单元230,用于将所述关键环节形成典型事件。

优选地,形成单元包括:

形成子单元,用于按照预设策略对所述关键环节进行标准化处理,从而得到所述典型事件。

通过梳理可以将关键环节形成典型事件。

所谓梳理指的是根据微服务从开发到运行到后期维护所涉及的软硬件资源特点进行归纳分类,做一些标准化的处理。在梳理过程中所采用的预设策略为按运行环境进行归类、然后进行处理。

绑定单元240,用于将所述典型事件与脚本进行绑定。

本实施例中的脚本可以是由shell语言编写或puppet语言编写。

判断单元250,用于判断所述典型事件是否被触发。

执行单元260,用于当所述判断单元确定所述典型事件被触发时,执行与所述典型事件绑定的脚本。

执行与典型事件对应的脚本时是按照预设顺序启动底层虚机、中间件启动时间点和数据库。如若已启动虚拟机,接下来可以启动中间件,而后启动数据库。

优选地,执行单元包括:

执行子单元,用于按预设顺序启动虚拟机、所述中间件和所述数据库。

本实施例中的虚拟机也可以用docker容器代替,docker容器完全使用沙箱机制,相互之间不会有任何接口,几乎没有性能开销,可以很容易地在机器和数据中心中运行,也可以简单理解为一个简单的虚拟机,可以为应用提供基础的操作系统环境。

本发明实施例提供的技术方案,为了实现微服务的自动部署,标准化微服务的应用运行环境,通过梳理将与微服务相关的关键环节形成典型事件,并将典型事件与脚本进行绑定,从而在典型事件被触发时,执行与典型事件绑定的脚本。可见,本发明针对微服务体量小的特点,快速提供运行所需服务,通过服务组装为微应用提供完整的运行环境,实现微应用环境的自动构建。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

对于装置或系统实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置或系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,在没有超过本发明的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种示范性的例子,不应该作为限制,所给出的具体内容不应该限制本发明的目的。例如,所述单元或子单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或多个子单元结合一起。另外,多个单元可以或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

另外,所描述系统,装置和方法以及不同实施例的示意图,在不超出本发明的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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