本发明专利技术公开了一种微服务自动部署方法及装置,该方法包括:标准化待部署的微服务的应用运行环境,得到标准化应用运行环境;在所述标准化应用运行环境下,获取与微服务相关的关键环节;将所述关键环节形成典型事件;将所述典型事件与脚本进行绑定;判断所述典型事件是否被触发;若是,执行与所述典型事件绑定的脚本。可见,本发明专利技术针对微服务体量小的特点,快速提供运行所需服务,通过服务组装为微应用提供完整的运行环境,实现微应用环境的自动构建。
【技术实现步骤摘要】
一种微服务自动部署方法及装置
本专利技术涉及微服务
,特别是涉及一种微服务自动部署方法及装置。
技术介绍
微应用架构是典型的分布式架构,其在具备高性能、高可靠、易扩展等优势的同时,也会引入如下问题:节点多,应用微服务化后,微服务的数量将显著增加并且更新频繁,通过人工部署的方式工作量巨大且容易出错,需要引入自动化部署能力降低部署成本,提高部署效率。
技术实现思路
为解决上述技术问题,本专利技术实施例提供了一种微服务自动部署方法及装置,技术方案如下:一种微服务自动部署方法,包括:标准化待部署的微服务的应用运行环境,得到标准化应用运行环境;在所述标准化应用运行环境下,获取与微服务相关的关键环节;将所述关键环节形成典型事件;将所述典型事件与脚本进行绑定;判断所述典型事件是否被触发;若是,执行与所述典型事件绑定的脚本。优选地,所述应用运行环境包括:基础运行环境和具体的运行环境;所述基础运行环境由计算、存储和/或网络规格提供;所述具体的运行环境由中间件、数据库和/或负载均衡器提供。优选地,所述关键环节包括:虚拟机启动时间点、所述中间件启动时间点和/或所述数据库启动时间点。优选地,执行与所述典型事件绑定的脚本,包括:按预设顺序启动虚拟机、所述中间件和所述数据库。优选地,将所述关键环节形成典型事件,包括:按照预设策略对所述关键环节进行标准化处理,从而得到所述典型事件。一种微服务自动部署装置,包括:标准化单元,用于标准化待部署的微服务的应用运行环境,得到标准化应用运行环境;获取单元,在所述标准化应用运行环境下,获取与微服务相关的关键环节;形成单元,用于将所述关键环节形成典型事件;绑定单元,用于将所述典型事件与脚本进行绑定;判断单元,用于判断所述典型事件是否被触发;执行单元,用于当所述判断单元确定所述典型事件被触发时,执行与所述典型事件绑定的脚本。优选地,所述应用运行环境包括:基础运行环境和具体的运行环境;所述基础运行环境由计算、存储和/或网络规格提供;所述具体的运行环境由中间件、数据库和/或负载均衡器提供。优选地,所述关键环节包括:虚拟机启动时间点、所述中间件启动时间点和/或所述数据库启动时间点。优选地,所述执行单元,包括:执行子单元,用于按预设顺序启动虚拟机、所述中间件和所述数据库。优选地,所述形成单元,包括:形成子单元,用于按照预设策略对所述关键环节进行标准化处理,从而得到所述典型事件。本专利技术实施例提供的技术方案,为了实现微服务的自动部署,标准化微服务的应用运行环境,通过梳理将与微服务相关的关键环节形成典型事件,并将典型事件与脚本进行绑定,从而在典型事件被触发时,执行与典型事件绑定的脚本。可见,本专利技术针对微服务体量小的特点,快速提供运行所需服务,通过服务组装为微应用提供完整的运行环境,实现微应用环境的自动构建。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图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,用于标准化待部署的微服务的应用运行环境,得到标准化应用运行环境。微服务为微应用提供底层服务支撑。微服务与微应用的区别为微应用具有用户界面,而微服务不具有用户界面。微应用是一个独立的、可交付给用户使用的应用实体,和传统应用相比,微应用呈现出功能少、体量轻,能够快速交付和敏捷响应需求变更的特征。采用微应用建设模式,对于开发人员可通过微应用开发框架快速构建应用;对于本文档来自技高网...
【技术保护点】
1.一种微服务自动部署方法,其特征在于,包括:标准化待部署的微服务的应用运行环境,得到标准化应用运行环境;在所述标准化应用运行环境下,获取与微服务相关的关键环节;将所述关键环节形成典型事件;将所述典型事件与脚本进行绑定;判断所述典型事件是否被触发;若是,执行与所述典型事件绑定的脚本。
【技术特征摘要】
1.一种微服务自动部署方法,其特征在于,包括:标准化待部署的微服务的应用运行环境,得到标准化应用运行环境;在所述标准化应用运行环境下,获取与微服务相关的关键环节;将所述关键环节形成典型事件;将所述典型事件与脚本进行绑定;判断所述典型事件是否被触发;若是,执行与所述典型事件绑定的脚本。2.根据权利要求1所述的方法,其特征在于,所述应用运行环境包括:基础运行环境和具体的运行环境;所述基础运行环境由计算、存储和/或网络规格提供;所述具体的运行环境由中间件、数据库和/或负载均衡器提供。3.根据权利要求2所述的方法,其特征在于,所述关键环节包括:虚拟机启动时间点、所述中间件启动时间点和/或所述数据库启动时间点。4.根据权利要求3所述的方法,其特征在于,执行与所述典型事件绑定的脚本,包括:按预设顺序启动虚拟机、所述中间件和所述数据库。5.根据权利要求1所述的方法,其特征在于,将所述关键环节形成典型事件,包括:按照预设策略对所述关键环节进行标准化处理,从而得到所述典型事件。6.一种微服务自动部署装置,其特征在于,包括:标准化单元,用...
【专利技术属性】
技术研发人员:王继业,刘立威,夏元轶,董爱强,吴嘉生,
申请(专利权)人:北京中电普华信息技术有限公司,国网信息通信产业集团有限公司,国网江苏省电力公司信息通信分公司,国家电网有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。