CN109597605A - 应用微服务部署方法、装置、存储介质及终端设备 - Google Patents
应用微服务部署方法、装置、存储介质及终端设备 Download PDFInfo
- Publication number
- CN109597605A CN109597605A CN201811232403.3A CN201811232403A CN109597605A CN 109597605 A CN109597605 A CN 109597605A CN 201811232403 A CN201811232403 A CN 201811232403A CN 109597605 A CN109597605 A CN 109597605A
- Authority
- CN
- China
- Prior art keywords
- micro services
- application
- deployment
- mirror image
- application container
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及应用开发领域,具体涉及一种应用微服务部署方法、装置、存储介质及终端设备,所述方法包括:通过预定义的通信协议及接口规范,构建微服务体系框架;将应用微服务通过所述微服务体系框架打包成应用容器镜像,将所述应用容器镜像推送至制品仓库;响应于应用的部署命令,获取所述部署命令对应的应用微服务及各应用微服务的部署依赖,从所述制品仓库中获取所述应用容器镜像,根据所述部署依赖将所述应用容器镜像部署到应用容器中。本发明能够灵活、高效地对应用的多项功能或服务进行部署、维护。
Description
技术领域
本发明涉及应用开发领域,具体涉及一种应用微服务部署方法、装置、存储介质及终端设备。
背景技术
随着互联网技术的发展,应用的功能越来越丰富,应用越来越臃肿、庞大,一个应用需要多个开发团队进行开发跟维护,而目前,随着应用不断体量不断地增大,开发跟维护的效率不断地降低,例如,当需要对应用的功能进行维护或更新时,需要将应用重新发版,对应用的所有功能模块代码进行编译,并且应用各项功能间相互干扰,一项功能编译不通过其它功能亦无法上线,造成严重的效率问题。
发明内容
为克服以上技术问题,特别是现有技术无法高效地对应用的多项功能或服务进行部署、维护的问题,特提出以下技术方案:
第一方面,本发明提供了一种应用微服务部署方法,包括:
通过预定义的通信协议及接口规范,构建微服务体系框架;
将应用微服务通过所述微服务体系框架打包成应用容器镜像,将所述应用容器镜像推送至制品仓库;
响应于应用的部署命令,获取所述部署命令对应的应用微服务及各应用微服务的部署依赖,从所述制品仓库中获取所述应用容器镜像,根据所述部署依赖将所述应用容器镜像部署到应用容器中。
进一步的,所述根据所述部署依赖将所述应用容器镜像部署到应用容器中之后,还包括:
监控各应用微服务的运行状态,获取所述应用微服务的运行状态数据;
若所述应用微服务的运行状态数据满足预设条件,调整所述满足预设条件的应用微服务的部署策略。
进一步的,所述调整所述满足预设条件的应用微服务的部署策略,包括:
调整所述满足预设条件的应用微服务与其它应用微服务的部署依赖;或,
下架所述满足预设条件的应用微服务。
进一步的,所述将应用微服务通过所述微服务体系框架打包成应用容器镜像之后,还包括:
响应于对应用微服务的更新指令;
获取需要更新的应用微服务,将所述应用微服务通过所述微服务体系框架重新打包,生成新的应用容器镜像。
进一步的,所述根据所述部署依赖将所述应用容器镜像部署到应用容器中,包括:
获取各应用微服务的优先级别;
将优先级别高的应用微服务对应的应用容器镜像优先部署;再根据所述部署依赖依次部署优先级别逐渐下降的其它应用微服务的应用容器镜像。
进一步的,所述方法还包括:
当应用微服务出现异常时,将优先级别最高的应用微服务关闭。
第二方面,本发明提供一种应用微服务部署装置,包括:
框架构建模块:用于通过预定义的通信协议及接口规范,构建微服务体系框架;
镜像打包模块:用于将应用微服务通过所述微服务体系框架打包成应用容器镜像,将所述应用容器镜像推送至制品仓库;
部署模块:用于响应于应用的部署命令,获取所述部署命令对应的应用微服务及各应用微服务的部署依赖,从所述制品仓库中获取所述应用容器镜像,根据所述部署依赖将所述应用容器镜像部署到应用容器中。
进一步的,所述部署模块还包括执行:
监控各应用微服务的运行状态,获取所述应用微服务的运行状态数据;
若所述应用微服务的运行状态数据满足预设条件,调整所述满足预设条件的应用微服务的部署策略。
第三方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的应用微服务部署方法。
第四方面,本发明还提供了一种终端设备,所述终端设备包括一个或多个处理器、存储器、一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的应用微服务部署方法。
本发明与现有技术相比,具有以下有益效果:
本发明提供了一种对应用中使用到的多项微服务进行部署的方法,基于预定义的通信协议及接口规范构建微服务体系框架,然后将应用按照功能模块拆分成多项应用微服务,将微服务通过所述通信协议及接口规范接入微服务体系框架,然后将应用微服务通过所述微服务体系框架打包成应用容器镜像,将所述应用容器镜像推送至制品仓库,当需要使用到应用的某项功能而该项功能需要使用到多项应用微服务时,响应于应用的部署命令,获取所述部署命令对应的应用微服务及各应用微服务的部署依赖,然后从所述制品仓库中获取所述应用容器镜像,并根据所述部署依赖将所述应用容器镜像部署到应用容器中,便可在应用中开启所述应用容器镜像对应的应用微服务,正常使用已部署的应用微服务,通过将越来越庞大的应用/系统拆分成多项微服务,再根据微服务的依赖关系对其进行部署,实现对应用微服务的快速部署,提高应用的运行效率,并且便于应用的维护及更新。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明应用微服务部署方法的一实施例流程示意图;
图2为本发明应用微服务部署方法的另一实施例流程示意图;
图3为本发明应用微服务部署装置的一实施例示意图;
图4为本发明终端设备的一实施例结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本领域技术人员应当理解,本发明所称的“应用”、“应用程序”、“计算机程序”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。
本发明实施例提供一种应用微服务部署方法,如图1所示,所述方法包括以下步骤:
S10:通过预定义的通信协议及接口规范,构建微服务体系框架。
本实施例中,在应用微服务管理平台上定义接口规范及通信协议,构建微服务体系框架,可选的,所述应用微服务管理平台基于Spring boot开发,所述通信协议包括通讯协议、数据响应标准;所述接口规范包括配置文件命名方式、配置文件内容排版格式、包名的命名方式、方法函数的参数标准等。所述微服务体系框架可供适配所述接口规范和/或通信协议的微服务使用,当一项业务需要使用到多项应用微服务时,需要将该多项应用微服务均与所述微服务体系框架适配,所述应用微服务包括配置中心、调用链、熔断、性能监控、服务器治理、路由分发等公共组件,还包括各个业务对应的功能组件。
S20:将应用微服务通过所述微服务体系框架打包成应用容器镜像,将所述应用容器镜像推送至制品仓库。
在构建了微服务体系框架后,各微服务即可根据所述通信协议及接口规范接入所述微服务体系框架,按照所述接口规范及通信协议接入的应用微服务,本步骤中将该些应用微服务通过微服务体系框架打包成应用容器镜像,应用容器镜像是应用容器的基础,应用容器是应用容器镜像的运行实例,当应用容器镜像部署完成后才能启动应用容器,执行应用的业务操作,打包后各项应用微服务的应用容器镜像具有以下特点:①隔离性:每个应用微服务的应用容器镜像之间相互隔离,互不影响;②可配额/可度量:每个应用微服务的应用容器镜像所使用的资源可以量化,可以按需提供各个应用微服务的应用容器镜像所需的资源;③移动性:应用微服务的应用容器镜像可以方便地复制、移动和重建;然后将打包后的应用容器镜像推送至制品仓库中存储,以供后续使用。
S30:响应于应用的部署命令,获取所述部署命令对应的应用微服务及各应用微服务的部署依赖,从所述制品仓库中获取所述应用容器镜像,根据所述部署依赖将所述应用容器镜像部署到应用容器中。
当需要使用到应用的某项功能时,而该项功能需要使用到多项应用微服务时,本实施例中,响应于应用的部署命令,获取所述部署命令对应的应用微服务及各应用微服务的部署依赖,由于每个应用微服务的应用容器镜像都是相互隔离、互不影响的,因此需要提供该些应用微服务之间的依赖关系,才能将该些微服务关联起来,让整个应用得以正常使用,然后从所述制品仓库中获取所述应用容器镜像,并根据所述部署依赖将所述应用容器镜像部署到应用容器中,将应用容器镜像部署至应用容器中,便可在应用中开启所述应用容器镜像对应的应用微服务,在应用中便可以正常使用已部署的微服务,将应用拆分成各个功能模块,每个功能模块相当于一项应用微服务,通过打包应用微服务为应用容器镜像,实现对应用微服务的快速部署,提高应用的运行效率。
本实施例提供了一种对应用中使用到的多项微服务进行部署的方法,基于预定义的通信协议及接口规范构建微服务体系框架,然后将应用按照功能模块拆分成多项应用微服务,将微服务通过所述通信协议及接口规范接入微服务体系框架,然后将应用微服务通过所述微服务体系框架打包成应用容器镜像,将所述应用容器镜像推送至制品仓库,当需要使用到应用的某项功能而该项功能需要使用到多项应用微服务时,响应于应用的部署命令,获取所述部署命令对应的应用微服务及各应用微服务的部署依赖,然后从所述制品仓库中获取所述应用容器镜像,并根据所述部署依赖将所述应用容器镜像部署到应用容器中,便可在应用中开启所述应用容器镜像对应的应用微服务,正常使用已部署的应用微服务,通过将越来越庞大的应用/系统拆分成多项微服务,再根据微服务的依赖关系对其进行部署,实现对应用微服务的快速部署,提高应用的运行效率,并且便于应用的维护及更新。
本发明的一种实施例,如图2所示,所述根据所述部署依赖将所述应用容器镜像部署到应用容器中之后,还包括:
S40:监控各应用微服务的运行状态,获取所述应用微服务的运行状态数据;
S41:若所述应用微服务的运行状态数据满足预设条件,调整所述满足预设条件的应用微服务的部署策略。
本实施例中,在将应用微服务部署完成后,对各应用微服务的运行状态进行监控,统计,获取所述应用微服务的运行状态数据,所述运行状态数据包括各项应用微服务接收到的请求次数,能够在预定时间内对请求完成响应的次数,是否存在短时间内接收到大量重复请求的情况等,当所述应用微服务的运行状态数据满足预设条件,则调整所述满足预设条件的应用微服务的部署策略,实时统计各项微服务的运行状态,根据各项微服务的实际作业情况对各项微服务进行调整,从而满足业务的实际需求,避免造成损失。
本发明的一种实施例,所述调整所述满足预设条件的应用微服务的部署策略,包括:
调整所述满足预设条件的应用微服务与其它应用微服务的部署依赖;或,
下架所述满足预设条件的应用微服务。
在上述实施例的基础上,当所述应用微服务的运行状态数据满足预设条件时,一般的,满足所述预设条件的应用微服务的运行状态为出现异常的情况,当应用中的某一个应用微服务出现异常时,本实施例的一种实施方式,调整所述满足预设条件的应用微服务与其它应用微服务的部署依赖,例如,当应用微服务A出现异常时,切断应用微服务A与其它应用微服务的连接关系,应用微服务A接收到的请求不再转发至应用微服务B而是上报至风控系统,应用微服务A仍然能够接收请求,后续通过风控系统及应用微服务A接收的请求便能了解异常的原因;当应用中的某一个应用微服务出现异常时,本实施例的另一种实施方式,下架所述满足预设条件的应用微服务,即将出现异常的应用微服务直接下架,不再接收对于该应用微服务的数据请求。从而能够避免出现异常的应用微服务造成的直接损失。
本发明的一种实施例,所述将应用微服务通过所述微服务体系框架打包成应用容器镜像之后,还包括:
响应于对应用微服务的更新指令;
获取需要更新的应用微服务,将所述应用微服务通过所述微服务体系框架重新打包,生成新的应用容器镜像。
随着实际业务的发展,应用的各项功能亦不断变更,例如应用需要发布新的版本,需要对一部分的应用业务/功能进行更新,此时针对该些业务/功能发送更新指令,此时只需要将相应的应用微服务进行更新,响应于对应用微服务的更新指令,获取需要更新的应用微服务,然后将该些需要更新的应用微服务通过所述微服务体系框架重新打包,生成新的应用容器镜像,而不需要将整个应用的所有功能/所有微服务进行重新打包、编译,从而节省时间成本,加快应用的发版速度,并且能够及时调整应用中的功能,满足用户的使用需求。
本发明的一种实施例,所述根据所述部署依赖将所述应用容器镜像部署到应用容器中,包括:
获取各应用微服务的优先级别;
将优先级别高的应用微服务对应的应用容器镜像优先部署;再根据所述部署依赖依次部署优先级别逐渐下降的其它应用微服务的应用容器镜像。
不同应用微服务的重要程度不同,本实施例中,获取各应用微服务的优先级别,例如应用微服务A为基础服务,优先级别最高,应用微服务B为功能服务,优先级别次之,应用微服务C为业务展示服务,优先级别最低,在部署微服务时,将优先级别高的应用微服务对应的应用容器镜像优先部署,即将应用微服务A最先部署,然后再根据所述部署依赖依次部署优先级别逐渐下降的其它应用微服务的应用容器镜像,例如,应用微服务A与应用微服务B、应用微服务C存在直接数据交互关系,且应用微服务B的优先级较应用微服务C高,则优先部署应用微服务B的应用容器镜像,再部署应用微服务C的应用容器镜像。
本发明的一种实施例,所述方法还包括:
当应用微服务出现异常时,将优先级别最高的应用微服务关闭。
由于实际作业中,应用微服务出现异常现象时无法第一时间查明哪一个应用微服务出现的异常,本实施例中,在应用微服务出现异常时,将优先级别最高的应用微服务关闭,即将基础的应用微服务关闭,从而关闭整个应用的运行,避免应用异常运行造成的损失。
如图3所示,在另一种实施例中,本发明提供了一种应用微服务部署装置,包括:
框架构建模块10:用于通过预定义的通信协议及接口规范,构建微服务体系框架;
镜像打包模块20:用于将应用微服务通过所述微服务体系框架打包成应用容器镜像,将所述应用容器镜像推送至制品仓库;
部署模块30:用于响应于应用的部署命令,获取所述部署命令对应的应用微服务及各应用微服务的部署依赖,从所述制品仓库中获取所述应用容器镜像,根据所述部署依赖将所述应用容器镜像部署到应用容器中。
本发明的一种实施例,所述部署模块30还包括执行:
监控各应用微服务的运行状态,获取所述应用微服务的运行状态数据;
若所述应用微服务的运行状态数据满足预设条件,调整所述满足预设条件的应用微服务的部署策略。
本发明的一种实施例,所述部署模块30执行调整所述满足预设条件的应用微服务的部署策略,包括:
调整所述满足预设条件的应用微服务与其它应用微服务的部署依赖;或,
下架所述满足预设条件的应用微服务。
本发明的一种实施例,所述镜像打包模块20还包括执行:
响应于对应用微服务的更新指令;
获取需要更新的应用微服务,将所述应用微服务通过所述微服务体系框架重新打包,生成新的应用容器镜像。
本发明的一种实施例,所述镜像打包模块20执行根据所述部署依赖将所述应用容器镜像部署到应用容器中,包括:
获取各应用微服务的优先级别;
将优先级别高的应用微服务对应的应用容器镜像优先部署;再根据所述部署依赖依次部署优先级别逐渐下降的其它应用微服务的应用容器镜像。
本发明的一种实施例,当应用微服务出现异常时,将优先级别最高的应用微服务关闭。
在另一种实施例中,本发明提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例所述的应用微服务部署方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSSMemory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
本发明实施例提供的一种计算机可读存储介质,可实现通过预定义的通信协议及接口规范,构建微服务体系框架;将应用微服务通过所述微服务体系框架打包成应用容器镜像,将所述应用容器镜像推送至制品仓库;响应于应用的部署命令,获取所述部署命令对应的应用微服务及各应用微服务的部署依赖,从所述制品仓库中获取所述应用容器镜像,根据所述部署依赖将所述应用容器镜像部署到应用容器中。通过提供一种对应用中使用到的多项微服务进行部署的方法,基于预定义的通信协议及接口规范构建微服务体系框架,然后将应用按照功能模块拆分成多项应用微服务,将微服务通过所述通信协议及接口规范接入微服务体系框架,然后将应用微服务通过所述微服务体系框架打包成应用容器镜像,将所述应用容器镜像推送至制品仓库,当需要使用到应用的某项功能而该项功能需要使用到多项应用微服务时,响应于应用的部署命令,获取所述部署命令对应的应用微服务及各应用微服务的部署依赖,然后从所述制品仓库中获取所述应用容器镜像,并根据所述部署依赖将所述应用容器镜像部署到应用容器中,便可在应用中开启所述应用容器镜像对应的应用微服务,正常使用已部署的应用微服务,通过将越来越庞大的应用/系统拆分成多项微服务,再根据微服务的依赖关系对其进行部署,实现对应用微服务的快速部署,提高应用的运行效率,并且便于应用的维护及更新。
本发明实施例提供的计算机可读存储介质可以实现上述应用微服务部署方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
此外,在又一种实施例中,本发明还提供一种终端设备,如图4所示,所述终端设备包括处理器403、存储器405、输入单元407以及显示单元409等器件。本领域技术人员可以理解,图4示出的结构器件并不构成对所有终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器405可用于存储计算机程序401以及各功能模块,处理器403运行存储在存储器405的计算机程序401,从而执行设备的各种功能应用以及数据处理。存储器405可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器405只作为例子而非作为限定。
输入单元407用于接收信号的输入及接收用户的输入,输入单元407可包括触控面板以及其它输入设备,触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元409可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元409可采用液晶显示器、有机发光二极管等形式。处理器403是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储器403内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
在一种实施方式中,所述终端设备包括一个或多个处理器403,以及一个或多个存储器405,一个或多个计算机程序401,其中所述一个或多个计算机程序401被存储在存储器405中,并被配置为由所述一个或多个处理器403执行,所述一个或多个计算机程序401配置用于执行以上实施例所述的应用微服务部署方法。图4中所示的一个或多个处理器403能够执行、实现图3中所示的框架构建模块10、镜像打包模块20、部署模块30的功能。
本发明实施例提供的一种终端设备,可实现通过预定义的通信协议及接口规范,构建微服务体系框架;将应用微服务通过所述微服务体系框架打包成应用容器镜像,将所述应用容器镜像推送至制品仓库;响应于应用的部署命令,获取所述部署命令对应的应用微服务及各应用微服务的部署依赖,从所述制品仓库中获取所述应用容器镜像,根据所述部署依赖将所述应用容器镜像部署到应用容器中。通过提供一种对应用中使用到的多项微服务进行部署的方法,基于预定义的通信协议及接口规范构建微服务体系框架,然后将应用按照功能模块拆分成多项应用微服务,将微服务通过所述通信协议及接口规范接入微服务体系框架,然后将应用微服务通过所述微服务体系框架打包成应用容器镜像,将所述应用容器镜像推送至制品仓库,当需要使用到应用的某项功能而该项功能需要使用到多项应用微服务时,响应于应用的部署命令,获取所述部署命令对应的应用微服务及各应用微服务的部署依赖,然后从所述制品仓库中获取所述应用容器镜像,并根据所述部署依赖将所述应用容器镜像部署到应用容器中,便可在应用中开启所述应用容器镜像对应的应用微服务,正常使用已部署的应用微服务,通过将越来越庞大的应用/系统拆分成多项微服务,再根据微服务的依赖关系对其进行部署,实现对应用微服务的快速部署,提高应用的运行效率,并且便于应用的维护及更新。
本发明实施例提供的终端设备可以实现上述提供的应用微服务部署方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种应用微服务部署方法,其特征在于,包括:
通过预定义的通信协议及接口规范,构建微服务体系框架;
将应用微服务通过所述微服务体系框架打包成应用容器镜像,将所述应用容器镜像推送至制品仓库;
响应于应用的部署命令,获取所述部署命令对应的应用微服务及各应用微服务的部署依赖,从所述制品仓库中获取所述应用容器镜像,根据所述部署依赖将所述应用容器镜像部署到应用容器中。
2.根据权利要求1所述的方法,其特征在于,所述根据所述部署依赖将所述应用容器镜像部署到应用容器中之后,还包括:
监控各应用微服务的运行状态,获取所述应用微服务的运行状态数据;
若所述应用微服务的运行状态数据满足预设条件,调整所述满足预设条件的应用微服务的部署策略。
3.根据权利要求2所述的方法,其特征在于,所述调整所述满足预设条件的应用微服务的部署策略,包括:
调整所述满足预设条件的应用微服务与其它应用微服务的部署依赖;或,
下架所述满足预设条件的应用微服务。
4.根据权利要求1所述的方法,其特征在于,所述将应用微服务通过所述微服务体系框架打包成应用容器镜像之后,还包括:
响应于对应用微服务的更新指令;
获取需要更新的应用微服务,将所述应用微服务通过所述微服务体系框架重新打包,生成新的应用容器镜像。
5.根据权利要求1所述的方法,其特征在于,所述根据所述部署依赖将所述应用容器镜像部署到应用容器中,包括:
获取各应用微服务的优先级别;
将优先级别高的应用微服务对应的应用容器镜像优先部署;再根据所述部署依赖依次部署优先级别逐渐下降的其它应用微服务的应用容器镜像。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当应用微服务出现异常时,将优先级别最高的应用微服务关闭。
7.一种应用微服务部署装置,其特征在于,包括:
框架构建模块:用于通过预定义的通信协议及接口规范,构建微服务体系框架;
镜像打包模块:用于将应用微服务通过所述微服务体系框架打包成应用容器镜像,将所述应用容器镜像推送至制品仓库;
部署模块:用于响应于应用的部署命令,获取所述部署命令对应的应用微服务及各应用微服务的部署依赖,从所述制品仓库中获取所述应用容器镜像,根据所述部署依赖将所述应用容器镜像部署到应用容器中。
8.根据权利要求7所述的装置,其特征在于,所述部署模块还包括执行:
监控各应用微服务的运行状态,获取所述应用微服务的运行状态数据;
若所述应用微服务的运行状态数据满足预设条件,调整所述满足预设条件的应用微服务的部署策略。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至6任一项所述的应用微服务部署方法。
10.一种终端设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于执行根据权利要求1至6任一项所述的应用微服务部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811232403.3A CN109597605A (zh) | 2018-10-22 | 2018-10-22 | 应用微服务部署方法、装置、存储介质及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811232403.3A CN109597605A (zh) | 2018-10-22 | 2018-10-22 | 应用微服务部署方法、装置、存储介质及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109597605A true CN109597605A (zh) | 2019-04-09 |
Family
ID=65958021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811232403.3A Pending CN109597605A (zh) | 2018-10-22 | 2018-10-22 | 应用微服务部署方法、装置、存储介质及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109597605A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569044A (zh) * | 2019-09-09 | 2019-12-13 | 山东浪潮通软信息科技有限公司 | 一种将应用部署到运行环境的方法、装置及系统 |
CN110865840A (zh) * | 2019-11-18 | 2020-03-06 | 上海极链网络科技有限公司 | 一种应用管理方法、装置、服务器及存储介质 |
CN110943872A (zh) * | 2019-12-31 | 2020-03-31 | 上海擎感智能科技有限公司 | 数据采集服务配置/性能分析方法/系统、介质及服务器 |
CN111427547A (zh) * | 2020-03-18 | 2020-07-17 | 成都中科合迅科技有限公司 | 一种基于c++的微服务开发方法和系统 |
CN111796834A (zh) * | 2020-06-30 | 2020-10-20 | 福信富通科技股份有限公司 | 一种可组合的微服务开发框架的部署方法、装置及设备 |
CN111831289A (zh) * | 2020-06-30 | 2020-10-27 | 山东大学 | 一种微服务自动化部署管理系统及方法 |
CN112468337A (zh) * | 2020-11-19 | 2021-03-09 | 安徽江淮汽车集团股份有限公司 | 车联网微服务的部署方法、装置、设备及存储介质 |
CN113114482A (zh) * | 2021-03-08 | 2021-07-13 | 中国—东盟信息港股份有限公司 | 一种基于容器的混合云管理系统及方法 |
CN113268251A (zh) * | 2021-05-25 | 2021-08-17 | 中国联合网络通信集团有限公司 | 微服务的部署方法及其设备、计算机存储介质 |
CN113342379A (zh) * | 2021-06-28 | 2021-09-03 | 平安信托有限责任公司 | 微服务升级方法、装置、电子设备及存储介质 |
CN113535254A (zh) * | 2020-04-20 | 2021-10-22 | 华为技术有限公司 | 一种微服务的处理方法、部署方法和相关装置 |
CN113703791A (zh) * | 2021-08-14 | 2021-11-26 | 济南浪潮数据技术有限公司 | 一种软件部署方法、系统、存储介质及设备 |
CN113760301A (zh) * | 2020-12-30 | 2021-12-07 | 京东数科海益信息科技有限公司 | 一种微服务应用部署方法、装置、设备及存储介质 |
CN114168179A (zh) * | 2020-09-11 | 2022-03-11 | 腾讯科技(深圳)有限公司 | 微服务管理方法、装置、计算机设备和存储介质 |
CN115469882A (zh) * | 2022-09-16 | 2022-12-13 | 上海百胜软件股份有限公司 | 软件项目管理方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150006740A1 (en) * | 2013-06-26 | 2015-01-01 | Avaya Inc. | Shared back-to-back user agent |
CN105550130A (zh) * | 2015-12-14 | 2016-05-04 | 中电科华云信息技术有限公司 | 基于容器的应用环境动态编排的方法及其应用系统 |
CN106686132A (zh) * | 2017-02-06 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种云海系统部署方法及平台 |
CN107102847A (zh) * | 2016-02-23 | 2017-08-29 | 中国水电工程顾问集团有限公司 | 基于微服务的软件开发方法、装置及系统 |
CN107515776A (zh) * | 2017-07-18 | 2017-12-26 | 深信服科技股份有限公司 | 业务不间断升级方法、待升级节点和可读存储介质 |
CN107562472A (zh) * | 2017-08-24 | 2018-01-09 | 四川长虹电器股份有限公司 | 基于docker容器的微服务系统及方法 |
CN108038051A (zh) * | 2017-11-03 | 2018-05-15 | 深圳市牛鼎丰科技有限公司 | 微服务的发布方法、装置、计算机设备和存储介质 |
CN108600005A (zh) * | 2018-04-23 | 2018-09-28 | 国云科技股份有限公司 | 一种防御微服务雪崩效应的方法 |
-
2018
- 2018-10-22 CN CN201811232403.3A patent/CN109597605A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150006740A1 (en) * | 2013-06-26 | 2015-01-01 | Avaya Inc. | Shared back-to-back user agent |
CN105550130A (zh) * | 2015-12-14 | 2016-05-04 | 中电科华云信息技术有限公司 | 基于容器的应用环境动态编排的方法及其应用系统 |
CN107102847A (zh) * | 2016-02-23 | 2017-08-29 | 中国水电工程顾问集团有限公司 | 基于微服务的软件开发方法、装置及系统 |
CN106686132A (zh) * | 2017-02-06 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种云海系统部署方法及平台 |
CN107515776A (zh) * | 2017-07-18 | 2017-12-26 | 深信服科技股份有限公司 | 业务不间断升级方法、待升级节点和可读存储介质 |
CN107562472A (zh) * | 2017-08-24 | 2018-01-09 | 四川长虹电器股份有限公司 | 基于docker容器的微服务系统及方法 |
CN108038051A (zh) * | 2017-11-03 | 2018-05-15 | 深圳市牛鼎丰科技有限公司 | 微服务的发布方法、装置、计算机设备和存储介质 |
CN108600005A (zh) * | 2018-04-23 | 2018-09-28 | 国云科技股份有限公司 | 一种防御微服务雪崩效应的方法 |
Non-Patent Citations (2)
Title |
---|
杨迪: "基于容器云的微服务系统", 《电信科学》 * |
郑天民: "《向技术管理者转型 软件开发人员跨越行业、技术、管理的转型思维与实践》", 31 October 2017 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569044A (zh) * | 2019-09-09 | 2019-12-13 | 山东浪潮通软信息科技有限公司 | 一种将应用部署到运行环境的方法、装置及系统 |
CN110569044B (zh) * | 2019-09-09 | 2022-07-12 | 浪潮通用软件有限公司 | 一种将应用部署到运行环境的方法、装置及系统 |
CN110865840B (zh) * | 2019-11-18 | 2023-11-03 | 义乌中国小商品城大数据有限公司 | 一种应用管理方法、装置、服务器及存储介质 |
CN110865840A (zh) * | 2019-11-18 | 2020-03-06 | 上海极链网络科技有限公司 | 一种应用管理方法、装置、服务器及存储介质 |
CN110943872A (zh) * | 2019-12-31 | 2020-03-31 | 上海擎感智能科技有限公司 | 数据采集服务配置/性能分析方法/系统、介质及服务器 |
CN111427547A (zh) * | 2020-03-18 | 2020-07-17 | 成都中科合迅科技有限公司 | 一种基于c++的微服务开发方法和系统 |
CN111427547B (zh) * | 2020-03-18 | 2023-03-10 | 成都中科合迅科技有限公司 | 一种基于c++的微服务开发方法和系统 |
CN113535254A (zh) * | 2020-04-20 | 2021-10-22 | 华为技术有限公司 | 一种微服务的处理方法、部署方法和相关装置 |
CN111796834B (zh) * | 2020-06-30 | 2022-10-14 | 福信富通科技股份有限公司 | 一种可组合的微服务开发框架的部署方法、装置及设备 |
CN111831289B (zh) * | 2020-06-30 | 2021-07-09 | 山东大学 | 一种微服务自动化部署管理系统及方法 |
CN111831289A (zh) * | 2020-06-30 | 2020-10-27 | 山东大学 | 一种微服务自动化部署管理系统及方法 |
CN111796834A (zh) * | 2020-06-30 | 2020-10-20 | 福信富通科技股份有限公司 | 一种可组合的微服务开发框架的部署方法、装置及设备 |
CN114168179A (zh) * | 2020-09-11 | 2022-03-11 | 腾讯科技(深圳)有限公司 | 微服务管理方法、装置、计算机设备和存储介质 |
CN112468337A (zh) * | 2020-11-19 | 2021-03-09 | 安徽江淮汽车集团股份有限公司 | 车联网微服务的部署方法、装置、设备及存储介质 |
CN113760301B (zh) * | 2020-12-30 | 2024-05-17 | 京东科技信息技术有限公司 | 一种微服务应用部署方法、装置、设备及存储介质 |
CN113760301A (zh) * | 2020-12-30 | 2021-12-07 | 京东数科海益信息科技有限公司 | 一种微服务应用部署方法、装置、设备及存储介质 |
CN113114482B (zh) * | 2021-03-08 | 2022-06-14 | 中国—东盟信息港股份有限公司 | 一种基于容器的混合云管理系统及方法 |
CN113114482A (zh) * | 2021-03-08 | 2021-07-13 | 中国—东盟信息港股份有限公司 | 一种基于容器的混合云管理系统及方法 |
CN113268251A (zh) * | 2021-05-25 | 2021-08-17 | 中国联合网络通信集团有限公司 | 微服务的部署方法及其设备、计算机存储介质 |
CN113342379A (zh) * | 2021-06-28 | 2021-09-03 | 平安信托有限责任公司 | 微服务升级方法、装置、电子设备及存储介质 |
CN113703791A (zh) * | 2021-08-14 | 2021-11-26 | 济南浪潮数据技术有限公司 | 一种软件部署方法、系统、存储介质及设备 |
CN113703791B (zh) * | 2021-08-14 | 2023-12-22 | 济南浪潮数据技术有限公司 | 一种软件部署方法、系统、存储介质及设备 |
CN115469882A (zh) * | 2022-09-16 | 2022-12-13 | 上海百胜软件股份有限公司 | 软件项目管理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109597605A (zh) | 应用微服务部署方法、装置、存储介质及终端设备 | |
US10389592B2 (en) | Method, system and program product for allocation and/or prioritization of electronic resources | |
CN110413346B (zh) | 一种参数更新方法及装置 | |
US9742652B2 (en) | Proactive identification of hotspots in a cloud computing environment | |
US10007580B2 (en) | Assigning storage locations based on a graph structure of a workload | |
US9122841B2 (en) | Providing remote application logs for cloud applications | |
US9424160B2 (en) | Detection of data flow bottlenecks and disruptions based on operator timing profiles in a parallel processing environment | |
US9679029B2 (en) | Optimizing storage cloud environments through adaptive statistical modeling | |
US20200151013A1 (en) | Multi-tenant license enforcement across job requests | |
US11093642B2 (en) | Push down policy enforcement | |
US10338952B2 (en) | Program execution without the use of bytecode modification or injection | |
CN111694857B (zh) | 存储资源数据的方法、装置、电子设备及计算机可读介质 | |
US10305752B2 (en) | Automatically orchestrating the compliance of cloud services to selected standards and policies | |
CN109309712A (zh) | 基于接口异步调用的数据传输方法、服务器及存储介质 | |
US8938712B2 (en) | Cross-platform virtual machine and method | |
US20220043699A1 (en) | Intelligent scaling in microservice-based distributed systems | |
JP5859074B2 (ja) | アプリケーションプログラムサーチの方法及びそのシステム | |
CN103412704A (zh) | 用于通过姿势或触摸控制用户界面的优化方案 | |
CN113535220B (zh) | 一种代码包管理方法和装置 | |
CN112130888A (zh) | 应用程序更新的方法、装置、设备和计算机存储介质 | |
JP2021140781A (ja) | ソースチャネル決定方法、装置、機器、プログラム及びコンピューター記憶媒体 | |
US10877795B2 (en) | Automatic tuning of a dataflow execution graph | |
US20200293299A1 (en) | Optimizing updates to distributed data processing applications | |
Castro et al. | Cloud. Jus: Architecture for Provisioning Infrastructure as a Service in the Government Sector. | |
US11410082B2 (en) | Data loss machine learning model update |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190409 |