CN112181439A - 一种微服务部署方法、装置、电子设备及可读存储介质 - Google Patents
一种微服务部署方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN112181439A CN112181439A CN202011013454.4A CN202011013454A CN112181439A CN 112181439 A CN112181439 A CN 112181439A CN 202011013454 A CN202011013454 A CN 202011013454A CN 112181439 A CN112181439 A CN 112181439A
- Authority
- CN
- China
- Prior art keywords
- target
- micro
- service
- deployment
- software package
- 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
- 238000000034 method Methods 0.000 title claims abstract description 131
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 230000008569 process Effects 0.000 claims abstract description 69
- 238000012544 monitoring process Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 238000007726 management method Methods 0.000 description 25
- 230000009286 beneficial effect Effects 0.000 description 10
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- 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
本发明涉及计算机软件部署领域,具体涉及一种微服务部署方法、装置、电子设备及可读存储介质。所述方法包括:获取目标软件包;其中所述目标软件包用于实现目标微服务功能;根据预设配置信息和目标软件包,生成目标微服务部署指令;将所述目标微服务指令上传至匹配的目标服务器;在所述目标服务器中创建目标进程执行所述生成的目标微服务部署指令;执行成功,确定所述目标微服务部署完成。本申请提供的方案实现了基于Spring Cloud框架下微服务自动部署,降低微服务部署方案的复杂性。
Description
技术领域
本发明涉及计算机软件部署领域,具体涉及一种微服务部署方法、装置、电子设备及可读存储介质。
背景技术
随着信息技术的飞速发展,互联网已经成为新的基础设施。我国就上百万个境内网站为其用户提供电子商务、电子政务、社交娱乐、交通出行、金融理财、在线教育等服务。随着业务规模的不断扩大,团队开发人员的不断扩张,传统的单体应用架构设计会导致***的可靠性与扩展性较低、单体应用膨胀、团队开发耦合度高、协作效率低下等问题,此时微服务就应用而生,微服务架构是将复杂臃肿的单体应用进行细粒度的服务化拆分,每个拆分出来的服务各自独立打包部署,并交由小团队进行开发和运维,从而极大地提高了应用交付的效率。然而,大量微服务组成的***如何实现持续集成、交付、部署(软件/代码的编译、打包、部署)对运维人员提出了较高要求,而且出于安全需要,内网服务器往往不能直接与互联网相连。目前传统的微服务部署方法需要运维人员手动拉取最新版代码,并进行打包,而后将软件包上传至服务器,根据依赖关系通过Linux终端逐个安装或升级,并手动修改相应的配置文件,以人工的方式验证基础软件包和配置文件是否正确,部署过程繁琐,效率低,容易出错。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:
第一方面,本申请实施例公开了一种微服务部署方法,所述方法包括:
获取目标软件包;其中所述目标软件包用于实现目标微服务功能;
根据预设配置信息和目标软件包,生成目标微服务部署指令;
将所述目标微服务指令上传至匹配的目标服务器;
在所述目标服务器中创建目标进程执行所述生成的目标微服务部署指令;
执行成功,确定所述目标微服务部署完成。
可选地,所述获取目标软件包包括:
从代码仓库提取目标代码;
根据所述预设配置信息中的目标代码版本信息,对所述提取的目标代码进行本地打包生成目标软件包。
可选地,所述获取目标软件包包括:
上传符合预设配置信息并与所述目标微服务匹配的目标软件包。
可选地,所述方法还包括:
反馈所述目标进程执行目标微服务部署指令的执行结果。
可选地,所述预设配置信息至少包括以下之一:
用户管理参数、目标服务器管理参数、代码仓库管理参数、目标进程执行参数。
可选地,所述预设用户管理参数包括:
预先设置访问所述目标微服务的用户的身份验证信息,和/或,
预先设置访问所述目标微服务的用户的访问权限。
可选地,所述预设服务器管理参数包括:预先设置目标服务器的信息管理参数;
所述预设代码仓库管理参数包括:预设设置与所述目标微服务匹配的目标代码的仓库地址信息。
可选地,所述预先设置用于执行所述目标微服务部署指令的目标进程的执行参数包括但不限于:
预先设置所述目标进程的执行目录/路径、条件、时间、目标服务器的地址。
可选地,所述方法还包括:
监控所述目标服务器中微服务进程的运行状态;其中所述运行状态包括但不限于:微服务进程ID、微服务进程占用所述目标服务器的内存、微服务进程的运行时间。
可选地,所述方法还包括:根据对目标服务器中的微服务进程的运行状态的监控,控制所述微服务进程的运行状态。
可选地,所述方法还包括:接收用户指令,下载所述目标服务器中的目标软件包。
另一方面本申请实施例提供了一种微服务部署装置,所述装置包括:通讯模块、配置模块、处理模块和执行模块,其中,
所述通讯模块,用于获取目标软件包;其中所述目标软件包用于实现目标微服务器功能;
所述配置模块,用于预先设置配置信息;
所述处理模块,用于根据预设配置信息和目标软件包,生成目标微服务部署指令;
所述通讯模块,还用于将所述目标微服务指令上传至匹配的目标服务器;
所述执行模块,用于在所述目标服务器中创建目标进程执行所述生成的目标微服务部署指令;执行成功,确定所述目标微服务部署完成。
可选地,所述通讯模块具体用于从代码仓库提取目标代码;所述处理模块还用于根据所述预设配置信息中的目标代码版本信息,对所述提取的目标代码进行本地打包生成目标软件包。
可选地,所述配置模块具体用于:
预先配置目标微服务的用户管理参数、目标服务器管理参数、代码仓库管理参数、目标进程执行参数。
可选地,所述装置还包括监控模块,其中,
所述监控模块用于监控所述目标服务器中微服务进程的运行状态;其中所述运行状态包括但不限于:微服务进程ID、微服务进程占用所述目标服务器的内存、微服务进程的运行时间。
第三方面,本申请实施例提供了一种电子设备,包括处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行上述任一实施例中所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法。
本申请实施例提供的微服务部署方案包括获取目标软件包;其中所述目标软件包用于实现目标微服务功能;根据预设配置信息和目标软件包,生成目标微服务部署指令;将所述目标微服务指令上传至匹配的目标服务器;在所述目标服务器中创建目标进程执行所述生成的目标微服务部署指令;执行成功,确定所述目标微服务部署完成。本申请方案是在Spring Cloud微服务框架解决方案基础上针对目前Spring Cloud解决方案还存在的一些问题进行优化改进,实现了基于Spring Cloud框架下微服务自动部署。此外本申请实施例提供的技术方案带来的有益效果还至少包括以下之一:
(1)实现了微服务部署完成后,软件包的自动下载;
(2)实现了对微服务运行状态的监控,提高了对微服务任务的管理;
(3)降低了微服务部署方案的复杂性,减少了原部署操作过程中需要的大量配置信息。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种微服务部署方法的流程示意图;
图2为本申请实施例提供的一种微服务部署装置的结构示意图;
图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式,其中的“第一”“第二”等只是为了介绍清楚方案而进行的对象区分定义,并不对对象本身进行限制,当然“第一”和“第二”限定的对象可能是同一个终端、设备和用户等,也可能是同一种终端、设备和用户。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
此外应理解,本申请实施例中“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一(项)个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a、b、c可以是单个,也可以是多个。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
目前现有技术中的微服务部署方案除了如背景技术中介绍的存在部署过程繁琐,效率低,容易出错的问题外,还存在着以下技术缺陷:
(1)软件包部署完成后,如需下载软件包后只能由运维人员手动进行下载,效率较低,而且目前的部署方案不支持直接上传jar包进行部署;
(2)目前部署方案部署的微服务平台无法对微服务进程运行状态进行监控,不利于微服务运行状态的管理;
(3)目前微服务部署方案具操作复杂,操作过程中需要大量配置信息。
基于此,本发明的以下实施例就是提供一种微服务部署方法以解决上述至少之一的缺陷。
为了更清楚地介绍本申请的技术方案,以下介绍一些下述实施例可能涉及到的概念、术语或装置,以帮助理解本申请公开的微服务部署方案:
微服务:将一个原本独立的***拆分成多个小型服务,这些服务都在各自独立的进程中运行的设计理念。
持续集成:频繁地将软件个人研发的部分向软件整体部分交付、集成以便更快地发现其中的错误。
持续交付:频繁地将软件的新版本,交付给质量团队或者用户评审,评审通过则进入生产阶段。
持续部署:代码通过评审以后,自动部署到生产环境。
Spring Cloud是目前最为流行的微服务框架之一,是若干个框架的集合,提供了全套的分布式***解决方案。包含了:服务注册与发现、配置中心、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列等等。Spring Cloud通过对Spring Boot进行封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、容易部署的分布式***开发工具包。开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元,Spring Cloud就是这些微服务的管理中心,采用了微服务这种架构之后,项目的数量会非常多。Spring Cloud的子项目,大致可分成两类,一类是对现有成熟框架”Spring Boot化”的封装和抽象,也是数量最多的项目;第二类是开发了一部分分布式***的基础设施的实现,如Spring Cloud Stream扮演的就是kafka,ActiveMQ这样的角色。
图1示出了本申请实施例提供的一种微服务部署的流程示意图,如图1所示,该方法主要可以包括:
S101、获取目标软件包;其中所述目标软件包用于实现目标微服务功能;
在可选实施例中,所述获取目标软件包包括:从代码仓库提取目标代码;根据所述预设配置信息中的目标代码版本信息,对所述提取的目标代码进行本地打包生成目标软件包。
在另一可选实施例中,所述获取目标软件包可以通过上传符合预设配置信息并与所述目标微服务匹配的目标软件包来实现。
S102、根据预设配置信息和目标软件包,生成目标微服务部署指令;
具体地,即根据目标软件包的包名和预设配置信息中目标进程执行参数(或称之为启动参数)生成目标微服务部署指令(或称之为启动指令)。
S103、将所述目标微服务指令上传至匹配的目标服务器;即将目标软件包及包含部署指令的脚本上传至待部署服务器,即目标服务器中。
S104、在所述目标服务器中创建目标进程执行所述生成的目标微服务部署指令;执行成功,确定所述目标微服务部署完成。
在本申请可选实施例中,所述方法还包括:
反馈所述目标进程执行目标微服务部署指令的执行结果。即读取微服务执行日志,匹配到执行成功或失败标志时,返回该微服务执行结果。
在可选实施例中,所述预设配置信息至少包括以下之一:
用户管理参数、目标服务器管理参数、代码仓库管理参数、目标进程执行参数。
在可选实施例中,所述预设用户管理参数包括:预先设置访问所述目标微服务的用户的身份验证信息,和/或,预先设置访问所述目标微服务的用户的访问权限。
在可选实施例中,所述预设服务器管理参数为预先设置目标服务器的信息管理参数,包括用于管理本***部署所涉及到的目标服务器信息,例如服务器账号密码。
所述预设代码仓库管理参数为预设设置与所述目标微服务匹配的目标代码的仓库地址信息。
在可选实施例中,所述预先设置用于执行所述目标微服务部署指令的目标进程的执行参数包括但不限于:
预先设置所述目标进程的执行目录/路径、条件、时间、目标服务器的地址等其他公共启动参数或私有参数。
在可选实施例中,所述方法还包括:
监控所述目标服务器中微服务进程的运行状态;其中所述运行状态包括但不限于:微服务进程ID、微服务进程占用所述目标服务器的内存、微服务进程的运行时间。在进一步地可选实施例中,所述方法还包括:根据对目标服务器中的微服务进程的运行状态的监控,控制所述微服务进程的运行状态。具体实现过程可列为:
(1)监控中心连接选择的服务器,查询该服务器上正在运行的微服务进程;
(2)经过信息过滤后展示在界面上的为该服务的具体名称信息,占用***内存、执行时间、进程ID。
(3)根据监控到的进程ID,可以用于在监控中心发送停止进程指令,停止该微服务。
在可选实施例中,所述方法还包括:接收用户指令,下载所述目标服务器中的目标软件包,即根据预设配置信息中的进程执行参数设可获取到软件包所在位置,可下载微服务器中的软件包以部署到其他网络环境。
基于图1所示的微服务部署方法,另一方面本申请实施例提供了一种微服务部署装置,如图2所示,装置可以包括:201通讯模块、202配置模块、203处理模块和204执行模块,其中,
所述201通讯模块,用于获取目标软件包;其中所述目标软件包用于实现目标微服务器功能;
所述202配置模块,用于预先设置配置信息;
所述203处理模块,用于根据预设配置信息和目标软件包,生成目标微服务部署指令;
所述201通讯模块,还用于将所述目标微服务指令上传至匹配的目标服务器;
所述204执行模块,用于在所述目标服务器中创建目标进程执行所述生成的目标微服务部署指令;执行成功,确定所述目标微服务部署完成。
可选地,所述通讯模块具体用于从代码仓库提取目标代码;所述处理模块还用于根据所述预设配置信息中的目标代码版本信息,对所述提取的目标代码进行本地打包生成目标软件包。
可选地,所述配置模块具体用于:
预先配置目标微服务的用户管理参数、目标服务器管理参数、代码仓库管理参数、目标进程执行参数。
可选地,所述装置还包括监控模块,其中,
所述监控模块用于监控所述目标服务器中微服务进程的运行状态;其中所述运行状态包括但不限于:微服务进程ID、微服务进程占用所述目标服务器的内存、微服务进程的运行时间。
在实际业务场景中,本申请上述实施例所提供的微服务部署装置运行在微服务平台***中,所述平台***主要包括配置中心、部署中心、监控中心三个方面,其中所述配置中心包括上述实施例所述的配置模块和通讯模块,所述监控中心包括上述实施例所述的监控模块和通讯模块,所述部署中心包括通讯模块、处理模块和执行模块。
可以理解的是,本实施例中的微服务部署装置的上述各组成设备具有实现图1中所示的实施例中的方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或装置。上述模块和装置可以是软件和/或硬件,上述各模块和装置可以单独实现,也可以多个模块和装置集成实现。对于上述各模块和装置的功能描述具体可以参见图1中所示实施例中的方法的对应描述,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
可以理解的是,本发明实施例示意的结构并不构成对微服务部署装置的具体结构的具体限定。在本申请另一些实施例中,微服务部署装置可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本申请实施例提供了一种电子设备,包括处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的微服务部署方法。
作为一个示例,图3示出了本申请实施例所适用的一种电子设备的结构示意图,如图3所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个。可以理解的是,本发明实施例示意的结构并不构成对电子设备2000的具体结构的具体限定。在本申请另一些实施例中,电子设备2000可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实。可选地,电子设备还可以包括显示屏2005,用于显示图像,或需要时接收用户的操作指令。
其中,处理器2001应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器2004可以包括接收机和发射机,收发器2004应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。
处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
处理器2001也可以包括一个或多个处理单元,例如:处理器2001可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphicsprocessingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是电子设备2000的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器2001中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器2001中的存储器为高速缓冲存储器。该存储器可以保存处理器2001刚用过或循环使用的指令或数据。如果处理器2001需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器2001的等待时间,因而提高了***的效率。
处理器2001可以运行本申请实施例提供的微服务部署方法,以便于降低用户的操作复杂度、提高终端设备的智能化程度,提升用户的体验。处理器2001可以包括不同的器件,比如集成CPU和GPU时,CPU和GPU可以配合执行本申请实施例提供的微服务部署方法,比如微服务部署方法中部分算法由CPU执行,另一部分算法由GPU执行,以得到较快的处理效率。
总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘),也可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS),或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本申请任一实施方式中所提供的微服务部署方法。
存储器2003可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器2001通过运行存储在存储器2003的指令,从而执行电子设备2000的各种功能应用以及数据处理。存储器2003可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,应用程序的代码等。存储数据区可存储电子设备2000使用过程中所创建的数据(比如相机应用采集的图像、视频等)等。
存储器2003还可以存储本申请实施例提供的微服务部署方法对应的一个或多个计算机程序。该一个或多个计算机程序被存储在上述存储器2003中并被配置为被该一个或多个处理器2001执行,该一个或多个计算机程序包括指令,上述指令可以用于执行上述相应实施例中的各个步骤。
当然,本申请实施例提供的微服务部署方法的代码还可以存储在外部存储器中。这种情况下,处理器2001可以通过外部存储器接口运行存储在外部存储器中的微服务部署方法的代码,处理器2001可以控制运行微服务部署流程。
显示屏2005包括显示面板。显示面板可以采用液晶显示屏(liquid crystaldisplay,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备2000可以包括1个或N个显示屏2005,N为大于1的正整数。显示屏2005可用于显示由用户输入的信息或提供给用户的信息以及各种图形用户界面(graphical userinterface,GUI)。例如,显示屏2005可以显示照片、视频、网页、或者文件等。
本申请实施例提供的电子设备,适用于上述方法任一实施例,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的微服务部署方法。
本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的方法。本申请实施例提供的计算机程序产品,适用于上述方法任一实施例,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本申请实施例提供的微服务部署方案,包括获取目标软件包;其中所述目标软件包用于实现目标微服务功能;根据预设配置信息和目标软件包,生成目标微服务部署指令;将所述目标微服务指令上传至匹配的目标服务器;在所述目标服务器中创建目标进程执行所述生成的目标微服务部署指令;执行成功,确定所述目标微服务部署完成。本申请方案实现了基于Spring Cloud框架下微服务自动部署。实现了微服务部署完成后,软件包的自动下载;实现了对微服务运行状态的监控,提高了对微服务任务的管理;降低了微服务部署方案的复杂性,减少了原部署操作过程中需要的大量配置信息。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以丢弃,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,还可以做出若干改进和润饰,这些变化、替换、改进和润饰也应视为都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (17)
1.一种微服务部署方法,其特征在于,所述方法包括:
获取目标软件包;其中所述目标软件包用于实现目标微服务功能;
根据预设配置信息和目标软件包,生成目标微服务部署指令;
将所述目标微服务指令上传至匹配的目标服务器;
在所述目标服务器中创建目标进程执行所述生成的目标微服务部署指令;执行成功,确定所述目标微服务部署完成。
2.根据权利要求1所述的微服务部署方法,其特征在于,所述获取目标软件包包括:
从代码仓库提取目标代码;
根据所述预设配置信息中的目标代码版本信息,对所述提取的目标代码进行本地打包生成目标软件包。
3.根据权利要求2所述的微服务部署方法,其特征在于,所述获取目标软件包包括:
上传符合预设配置信息并与所述目标微服务匹配的目标软件包。
4.根据权利要求3所述的微服务部署方法,其特征在于,所述方法还包括:
反馈所述目标进程执行目标微服务部署指令的执行结果。
5.根据权利要求1或4所述的微服务部署方法,其特征在于,所述预设配置信息至少包括以下之一:
用户管理参数、目标服务器管理参数、代码仓库管理参数、目标进程执行参数。
6.根据权利要求5所述的微服务部署方法,其特征在于,所述预设用户管理参数包括:
预先设置访问所述目标微服务的用户的身份验证信息,和/或,
预先设置访问所述目标微服务的用户的访问权限。
7.根据权利要求5所述的微服务部署方法,其特征在于,所述预设服务器管理参数包括:预先设置目标服务器的信息管理参数;
所述预设代码仓库管理参数包括:预设设置与所述目标微服务匹配的目标代码的仓库地址信息。
8.根据权利要求5所述的微服务部署方法,其特征在于,所述预先设置用于执行所述目标微服务部署指令的目标进程的执行参数包括但不限于:
预先设置所述目标进程的执行目录/路径、条件、时间、目标服务器的地址。
9.根据权利要求1、6、7或8所述的微服务部署方法,其特征在于,所述方法还包括:
监控所述目标服务器中微服务进程的运行状态;其中所述运行状态包括但不限于:微服务进程ID、微服务进程占用所述目标服务器的内存、微服务进程的运行时间。
10.根据权利要求9所述的微服务部署方法,其特征在于,所述方法还包括:
根据对目标服务器中的微服务进程的运行状态的监控,控制所述微服务进程的运行状态。
11.根据权利要求10所述的微服务部署方法,其特征在于,所述方法还包括:
接收用户指令,下载所述目标服务器中的目标软件包。
12.一种微服务部署装置,其特征在于,所述装置包括:通讯模块、配置模块、处理模块和执行模块,其中,
所述通讯模块,用于获取目标软件包;其中所述目标软件包用于实现目标微服务器功能;
所述配置模块,用于预先设置配置信息;
所述处理模块,用于根据预设配置信息和目标软件包,生成目标微服务部署指令;
所述通讯模块,还用于将所述目标微服务指令上传至匹配的目标服务器;
所述执行模块,用于在所述目标服务器中创建目标进程执行所述生成的目标微服务部署指令;执行成功,确定所述目标微服务部署完成。
13.根据权利要求12所述的微服务部署装置,其特征在于,
所述通讯模块具体用于从代码仓库提取目标代码;
所述处理模块还用于根据所述预设配置信息中的目标代码版本信息,对所述提取的目标代码进行本地打包生成目标软件包。
14.根据权利要求13所述的微服务部署装置,其特征在于,所述配置模块具体用于:
预先配置目标微服务的用户管理参数、目标服务器管理参数、代码仓库管理参数、目标进程执行参数。
15.根据权利要求14所述的微服务部署装置,其特征在于,所述装置还包括监控模块,其中,
所述监控模块用于监控所述目标服务器中微服务进程的运行状态;其中所述运行状态包括但不限于:微服务进程ID、微服务进程占用所述目标服务器的内存、微服务进程的运行时间。
16.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行权利要求1-11中任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011013454.4A CN112181439A (zh) | 2020-09-24 | 2020-09-24 | 一种微服务部署方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011013454.4A CN112181439A (zh) | 2020-09-24 | 2020-09-24 | 一种微服务部署方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112181439A true CN112181439A (zh) | 2021-01-05 |
Family
ID=73956514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011013454.4A Pending CN112181439A (zh) | 2020-09-24 | 2020-09-24 | 一种微服务部署方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181439A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296794A (zh) * | 2021-05-25 | 2021-08-24 | 多点(深圳)数字科技有限公司 | 一种软件工程管理方法、装置、存储介质及电子设备 |
CN113342379A (zh) * | 2021-06-28 | 2021-09-03 | 平安信托有限责任公司 | 微服务升级方法、装置、电子设备及存储介质 |
CN113434151A (zh) * | 2021-06-10 | 2021-09-24 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 一种服务部署方法、服务器和*** |
CN113515297A (zh) * | 2021-08-12 | 2021-10-19 | 深圳市晨北科技有限公司 | 一种版本更新方法、装置、电子设备及存储介质 |
CN113553075A (zh) * | 2021-07-28 | 2021-10-26 | 用友汽车信息科技(上海)股份有限公司 | 微服务的部署方法、部署***、计算机设备和存储介质 |
CN113703789A (zh) * | 2021-08-04 | 2021-11-26 | 德邦证券股份有限公司 | 部署微服务程序的方法、装置以及存储介质 |
CN113741919A (zh) * | 2021-09-18 | 2021-12-03 | 中国银行股份有限公司 | 一种微服务管理方法及装置 |
CN114296832A (zh) * | 2021-12-31 | 2022-04-08 | 北京易华录信息技术股份有限公司 | 一种部署微服务的生产环境的方法和装置 |
CN114416109A (zh) * | 2021-12-15 | 2022-04-29 | 广州市玄武无线科技股份有限公司 | 程序部署方法及其装置、计算机设备、存储介质 |
CN114826899A (zh) * | 2022-03-16 | 2022-07-29 | 青岛海尔科技有限公司 | 设备控制服务的调试方法和装置、存储介质及电子装置 |
CN115202711A (zh) * | 2022-06-29 | 2022-10-18 | 易保网络技术(上海)有限公司 | 数据发布方法及*** |
CN115242863A (zh) * | 2022-04-20 | 2022-10-25 | 广东数夫软件有限公司 | 一种微服务应用方法及微服务架构*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180309630A1 (en) * | 2017-04-21 | 2018-10-25 | Microsoft Technology Licensing, Llc | Automated constraint-based deployment of microservices to cloud-based server sets |
CN109150978A (zh) * | 2018-07-24 | 2019-01-04 | 北京百度网讯科技有限公司 | 调试微服务的方法和装置 |
CN109358858A (zh) * | 2018-09-19 | 2019-02-19 | 网易(杭州)网络有限公司 | 自动化部署方法、装置、介质及电子设备 |
CN110572436A (zh) * | 2019-08-12 | 2019-12-13 | 浙江讯盟科技有限公司 | 多地跨集群的服务器部署方法及*** |
CN111309343A (zh) * | 2020-02-20 | 2020-06-19 | 中国建设银行股份有限公司 | 一种开发部署方法及装置 |
CN111352635A (zh) * | 2019-04-16 | 2020-06-30 | 深圳市鸿合创新信息技术有限责任公司 | 一种部署微服务的方法及装置、电子设备 |
CN111367534A (zh) * | 2020-03-19 | 2020-07-03 | 远光软件股份有限公司 | 一种基于应用环境的服务编排方法及*** |
CN111666080A (zh) * | 2020-04-28 | 2020-09-15 | 平安科技(深圳)有限公司 | 微服务集群部署方法、装置、计算机设备及存储介质 |
-
2020
- 2020-09-24 CN CN202011013454.4A patent/CN112181439A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180309630A1 (en) * | 2017-04-21 | 2018-10-25 | Microsoft Technology Licensing, Llc | Automated constraint-based deployment of microservices to cloud-based server sets |
CN109150978A (zh) * | 2018-07-24 | 2019-01-04 | 北京百度网讯科技有限公司 | 调试微服务的方法和装置 |
CN109358858A (zh) * | 2018-09-19 | 2019-02-19 | 网易(杭州)网络有限公司 | 自动化部署方法、装置、介质及电子设备 |
CN111352635A (zh) * | 2019-04-16 | 2020-06-30 | 深圳市鸿合创新信息技术有限责任公司 | 一种部署微服务的方法及装置、电子设备 |
CN110572436A (zh) * | 2019-08-12 | 2019-12-13 | 浙江讯盟科技有限公司 | 多地跨集群的服务器部署方法及*** |
CN111309343A (zh) * | 2020-02-20 | 2020-06-19 | 中国建设银行股份有限公司 | 一种开发部署方法及装置 |
CN111367534A (zh) * | 2020-03-19 | 2020-07-03 | 远光软件股份有限公司 | 一种基于应用环境的服务编排方法及*** |
CN111666080A (zh) * | 2020-04-28 | 2020-09-15 | 平安科技(深圳)有限公司 | 微服务集群部署方法、装置、计算机设备及存储介质 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296794A (zh) * | 2021-05-25 | 2021-08-24 | 多点(深圳)数字科技有限公司 | 一种软件工程管理方法、装置、存储介质及电子设备 |
CN113434151A (zh) * | 2021-06-10 | 2021-09-24 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 一种服务部署方法、服务器和*** |
CN113342379A (zh) * | 2021-06-28 | 2021-09-03 | 平安信托有限责任公司 | 微服务升级方法、装置、电子设备及存储介质 |
CN113553075A (zh) * | 2021-07-28 | 2021-10-26 | 用友汽车信息科技(上海)股份有限公司 | 微服务的部署方法、部署***、计算机设备和存储介质 |
CN113703789A (zh) * | 2021-08-04 | 2021-11-26 | 德邦证券股份有限公司 | 部署微服务程序的方法、装置以及存储介质 |
CN113515297A (zh) * | 2021-08-12 | 2021-10-19 | 深圳市晨北科技有限公司 | 一种版本更新方法、装置、电子设备及存储介质 |
CN113515297B (zh) * | 2021-08-12 | 2023-09-26 | 深圳市晨北科技有限公司 | 一种版本更新方法、装置、电子设备及存储介质 |
CN113741919A (zh) * | 2021-09-18 | 2021-12-03 | 中国银行股份有限公司 | 一种微服务管理方法及装置 |
CN114416109A (zh) * | 2021-12-15 | 2022-04-29 | 广州市玄武无线科技股份有限公司 | 程序部署方法及其装置、计算机设备、存储介质 |
CN114416109B (zh) * | 2021-12-15 | 2023-01-10 | 广州市玄武无线科技股份有限公司 | 程序部署方法及其装置、计算机设备、存储介质 |
CN114296832A (zh) * | 2021-12-31 | 2022-04-08 | 北京易华录信息技术股份有限公司 | 一种部署微服务的生产环境的方法和装置 |
CN114826899A (zh) * | 2022-03-16 | 2022-07-29 | 青岛海尔科技有限公司 | 设备控制服务的调试方法和装置、存储介质及电子装置 |
CN114826899B (zh) * | 2022-03-16 | 2024-01-23 | 青岛海尔科技有限公司 | 设备控制服务的调试方法和装置、存储介质及电子装置 |
CN115242863A (zh) * | 2022-04-20 | 2022-10-25 | 广东数夫软件有限公司 | 一种微服务应用方法及微服务架构*** |
CN115242863B (zh) * | 2022-04-20 | 2024-03-26 | 广东数夫软件有限公司 | 一种微服务应用方法及微服务架构*** |
CN115202711A (zh) * | 2022-06-29 | 2022-10-18 | 易保网络技术(上海)有限公司 | 数据发布方法及*** |
CN115202711B (zh) * | 2022-06-29 | 2023-11-14 | 易保网络技术(上海)有限公司 | 数据发布方法及*** |
WO2024001679A1 (zh) * | 2022-06-29 | 2024-01-04 | 易保网络技术(上海)有限公司 | 数据发布方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112181439A (zh) | 一种微服务部署方法、装置、电子设备及可读存储介质 | |
CN109684054B (zh) | 信息处理方法及装置、电子设备及存储器 | |
CN113312037B (zh) | 应用于微服务的数据处理方法、装置、设备和存储介质 | |
CN109814884A (zh) | 一种根据游戏资源类型进行资源管理的方法及*** | |
CN107992537B (zh) | 业务属性传递方法、装置、计算机设备及存储介质 | |
KR102073678B1 (ko) | 펌웨어 가상화를 위한 방법 및 장치 | |
CN111580926A (zh) | 模型发布方法、模型部署方法、装置、设备及存储介质 | |
CN109032590B (zh) | 一种可视化开发环境的配置方法、装置、终端及存储介质 | |
US10305817B1 (en) | Provisioning system and method for a distributed computing environment using a map reduce process | |
CN112486806A (zh) | 一种测试用例执行方法、装置、电子设备和可读存储介质 | |
US9380001B2 (en) | Deploying and modifying a service-oriented architecture deployment environment model | |
US10824642B2 (en) | Data synchronization architecture | |
CN110908644A (zh) | 状态节点的配置方法、装置、计算机设备和存储介质 | |
CN112667491B (zh) | 虚拟机的功能测试方法及装置 | |
CN112817581A (zh) | 一种轻量级智能服务构建和运行支撑方法 | |
CN112565472A (zh) | 静态资源的处理方法和装置 | |
CN113094121B (zh) | 一种数据处理方法、设备以及计算机可读存储介质 | |
US11983190B2 (en) | System and method for configurable and automated data extraction, formatting and distribution | |
CN114095758B (zh) | 云图像截取方法、相关装置 | |
CN114398082B (zh) | 一种框架式区块链应用的兼容运行方法及装置 | |
CN118075286A (zh) | 同步处理方法、装置、设备、存储介质及程序产品 | |
CN114185977A (zh) | 商品列表存取方法及其装置、设备、介质、产品 | |
CN115114046A (zh) | 一种数据通信方法、装置、存储介质及设备 | |
CN115145620A (zh) | 在线服务动态更新方法及其装置、设备、介质、产品 | |
CN117724803A (zh) | 云服务部署方法、装置和平台 |
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 |