CN111708571B - 微服务部署方法、装置、电子设备及存储介质 - Google Patents
微服务部署方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111708571B CN111708571B CN202010552305.9A CN202010552305A CN111708571B CN 111708571 B CN111708571 B CN 111708571B CN 202010552305 A CN202010552305 A CN 202010552305A CN 111708571 B CN111708571 B CN 111708571B
- Authority
- CN
- China
- Prior art keywords
- micro
- service
- file
- deployment
- configuration
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供一种微服务部署方法、装置、电子设备及存储介质,涉及微服务技术领域。所述方法包括:确定微服务部署的启动环境配置;通过批处理文件将至少一个微服务进行部署,所述至少一个微服务中每个微服务对应的批处理文件是基于所述每个微服务的Java程序打包的JAR文件生成。所述方法通过批处理文件对微服务的Java程序打包的JAR文件进行脚本执行,从而实现微服务的批量自动部署,提高了微服务部署效率。
Description
技术领域
本申请涉及微服务技术领域,具体而言,涉及一种微服务部署方法、装置、电子设备及存储介质。
背景技术
微服务是指能够独立设计、开发、测试、部署、运行、运维的功能单元,具有轻量级机制通信、松耦合、体积小等特点。当前,微服务架构在业务应用系统中的应用逐渐扩大,一般一个完整的应用系统,可由几十、上百,甚至上千个(视具体应用系统规模)独立运行的微服务构成,实施运维人员在面对应用系统产品的部署、运维过程中,需要操作大量的微服务配置信息,存在微服务部署效率较低的问题。
发明内容
有鉴于此,本申请实施例的目的在于提供一种微服务部署方法、装置、电子设备及存储介质,以改善现有技术中存在的微服务的部署效率较低的问题。
本申请实施例提供了一种微服务部署方法,所述方法包括:确定微服务部署的启动环境配置;通过批处理文件将至少一个微服务进行部署,所述至少一个微服务中每个微服务对应的批处理文件是基于所述每个微服务的Java程序打包的JAR文件生成。
在上述实现方式中,首先确定微服务部署的启动环境配置,从而完成批量部署微服务的环境和文件基础,并通过批处理文件对微服务的Java程序打包的JAR文件进行脚本执行,从而实现微服务的批量自动部署,提高了微服务部署效率。
可选地,所述启动环境配置包括当前服务器硬件环境配置和数据库连接配置,所述确定微服务部署的启动环境配置,包括:确定符合微服务部署的运行要求的当前服务器硬件环境配置;确定符合微服务部署的运行要求的数据库连接配置。
在上述实现方式中,将服务器硬件环境配置和数据库连接配置作为微服务部署要求,能够保证微服务部署成功率,从而提高了微服务部署效率。
可选地,所述确定符合微服务部署的运行要求的当前服务器硬件环境配置,包括:通过硬件信息库检测并显示当前服务器硬件环境配置,所述硬件信息库包括OSHI;在所述当前服务器硬件环境配置与符合微服务部署的运行要求的预设服务器硬件环境配置不同时,采用基于可扩展标记语言XML的批量环境变量维护配置文件将所述当前服务器硬件环境配置修改为所述预设服务器硬件环境配置。
在上述实现方式中,通过硬件信息库进行服务器硬件环境配置的检测,不需要安装任何额外的本机库,简化了硬件环境配置检测的步骤,同时可扩展标记语言XML的批量环境变量维护配置文件进行环境变量的批量修改,能够提高环境变量修改效率。
可选地,所述确定符合微服务部署的运行要求的数据库连接配置,包括:基于用户指令适配指定数据库类型的数据库连接驱动;基于所述数据库连接驱动与指定数据库连接,所述指定数据库包括所述至少一个微服务的XML文件,所述指定数据库用于存储和执行全量脚本和增量脚本。
在上述实现方式中,基于指定数据库类型适配数据库连接驱动,提高数据库连接的自动化效率,同时指定数据库提供增量脚本的添加和执行功能,用户能够添加新的微服务。
可选地,在所述通过批处理文件将至少一个微服务进行部署之前,所述方法还包括:读取并显示server.xml文件中配置的微服务;基于用户指令选择从所述server.xml文件中配置的微服务中选择需要部署的至少一个微服务。
在上述实现方式中,基于server.xml文件能够批量操作或显示微服务,提高微服务的部署效率。
可选地,在所述至少一个微服务为后台服务时,所述通过批处理文件将至少一个微服务进行部署,包括:在所述指定数据库中对server.xml文件进行服务属性配置;读取所述指定数据库中所述每个微服务的JAR文件;在所述每个微服务的JAR文件目录下添加启动批处理文件和停止批处理文件,所述启动批处理文件的批处理文件名、服务名以及日志文件名与所述server.xml文件中相同微服务的配置相同,所述停止批处理文件的批处理文件名以及端口号与所述server.xml文件中相同微服务的配置相同;其中,所述启动批处理文件和所述停止批处理文件用于在执行时启动或停止所述至少一个微服务。
在上述实现方式中,基于server.xml文件和JAR文件实现批处理文件的生成,完成微服务的部署,通过执行批处理文件进行微服务的启动或停止,能够批量化处理微服务,提高了微服务部署和管理的效率。
可选地,所述方法包括:基于监控工具对所述至少一个微服务进行监控和在线可视化,所述监控工具包括Spring Boot Admin。
在上述实现方式中,采用监控工具对微服务进行监控和在线可视化,提高了微服务的管理简便性和直观性。
本申请实施例提供了一种微服务部署装置,所述装置包括:环境配置模块,用于确定微服务部署的启动环境配置;数据库配置模块,用于确定微服务部署的数据库配置;部署模块,用于通过批处理文件将至少一个微服务进行部署,所述至少一个微服务中每个微服务对应的批处理文件是基于所述每个微服务的Java程序打包的JAR文件生成。
在上述实现方式中,首先确定微服务部署的启动环境配置,从而完成批量部署微服务的环境和文件基础,并通过批处理文件对微服务的Java程序打包的JAR文件进行脚本执行,从而实现微服务的批量自动部署,提高了微服务部署效率。
可选地,所述环境配置模块具体用于:确定符合微服务部署的运行要求的当前服务器硬件环境配置;确定符合微服务部署的运行要求的数据库连接配置。
在上述实现方式中,将服务器硬件环境配置和数据库连接配置作为微服务部署要求,能够保证微服务部署成功率,从而提高了微服务部署效率。
可选地,所述环境配置模块具体用于:通过硬件信息库检测并显示当前服务器硬件环境配置,所述硬件信息库包括OSHI;在所述当前服务器硬件环境配置与符合微服务部署的运行要求的预设服务器硬件环境配置不同时,采用基于可扩展标记语言XML的批量环境变量维护配置文件将所述当前服务器硬件环境配置修改为所述预设服务器硬件环境配置。
在上述实现方式中,通过硬件信息库进行服务器硬件环境配置的检测,不需要安装任何额外的本机库,简化了硬件环境配置检测的步骤,同时可扩展标记语言XML的批量环境变量维护配置文件进行环境变量的批量修改,能够提高环境变量修改效率。
可选地,所述环境配置模块具体用于:基于用户指令适配指定数据库类型的数据库连接驱动;基于所述数据库连接驱动与指定数据库连接,所述指定数据库包括所述至少一个微服务的XML文件,所述指定数据库用于存储和执行全量脚本和增量脚本。
在上述实现方式中,基于指定数据库类型适配数据库连接驱动,提高数据库连接的自动化效率,同时指定数据库提供增量脚本的添加和执行功能,用户能够添加新的微服务。
可选地,所述部署模块具体用于:读取并显示server.xml文件中配置的微服务;基于用户指令选择从所述server.xml文件中配置的微服务中选择需要部署的至少一个微服务。
在上述实现方式中,基于server.xml文件能够批量操作或显示微服务,提高微服务的部署效率。
可选地,所述部署模块具体用于:在所述指定数据库中对server.xml文件进行服务属性配置;读取所述指定数据库中所述每个微服务的JAR文件;在所述每个微服务的JAR文件目录下添加启动批处理文件和停止批处理文件,所述启动批处理文件的批处理文件名、服务名以及日志文件名与所述server.xml文件中相同微服务的配置相同,所述停止批处理文件的批处理文件名以及端口号与所述server.xml文件中相同微服务的配置相同;其中,所述启动批处理文件和所述停止批处理文件用于在执行时启动或停止所述至少一个微服务。
在上述实现方式中,基于server.xml文件和JAR文件实现批处理文件的生成,完成微服务的部署,通过执行批处理文件进行微服务的启动或停止,能够批量化处理微服务,提高了微服务部署和管理的效率。
可选地,所述微服务部署装置还包括:监控模块,用于基于监控工具对所述至少一个微服务进行监控和在线可视化,所述监控工具包括Spring Boot Admin。
在上述实现方式中,采用监控工具对微服务进行监控和在线可视化,提高了微服务的管理简便性和直观性。
本申请实施例还提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述任一实现方式中的步骤。
本申请实施例还提供了一种可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述任一实现方式中的步骤。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种微服务部署方法的流程示意图。
图2为本申请实施例提供的一种当前服务器硬件环境配置确定步骤的流程示意图。
图3为本申请实施例提供的一种数据库连接配置确定步骤的流程示意图。
图4为本申请实施例提供的一种基于批处理文件的微服务部署步骤的流程示意图。
图5为本申请实施例提供的一种微服务部署装置的模块示意图。
图标:20-微服务部署装置;21-环境配置模块;22-部署模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
经本申请人研究发现,目前针对微服务部署的实现方式主要有:基于Windows系统,使用纯手工编写BAT脚本;基于Linux系统,使用纯手工编写SHELL脚本;基于Docker技术进行部署;基于原始的JAVA转jar方式进行部署。上述方式的缺点包括:由于微服务中的多个服务都需要手工修改配置文件,当隶属服务存在版本更新时,整个服务相关的配置信息需要重新逐一修改,工作效率低;相关微服务的环境变量配置需要用户自己修改,容易造成人为错误;微服务集群部署需要实施人员根据特定需求逐个的人为保证服务的部署顺序,准确率难以保障;实施运维人员无法实时了解集群服务运行的健康状况,不能及时发现服务运行问;基于Docker的部署,在小集群部署和服务器资源比较弱或者性能需求不强的环境下,部署存在资源浪费和运维成本较高的问题。
为了解决上述问题,本申请实施例提供了一种微服务部署方法,请参考图1,图1为本申请实施例提供的一种微服务部署方法的流程示意图,该方法的具体步骤可以如下:
步骤S12:确定微服务部署的启动环境配置。
作为一种可选的实施方式,本实施例中的微服务部署方法可以是电子设备通过执行微服务部署软件实现。本发明针对windows服务器和Linux服务器分别借助批处理文件和Python脚本提供一种针对微服务可视化部署的装置,软件自身针对Windows服务器和Linux服务器分别提供了XXX.exe和XXX.tar.gz格式的安装与部署包,方便用户以非常友好的形式进行安装与部署。
其中,批处理文件也称为批处理脚本,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为.bat。
JAR文件是一种归档文件,以ZIP格式构建,以.jar为文件扩展名,是一种软件包文件格式,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便开发Java平台应用软件或库。
微服务部署软件对安装部署过程中可能出现的异常进行自主诊断,以便系统实施人员快速定位问题与修复问题。当工具在Windows或Linux上进行安装时,如果出现错误导致安装作业阻塞,工具附带的自助修复脚本会自动执行,尝试自助修复,如果修复不能成功便启动异常信息收集脚本并推送异常信息到工具安装日志文件中方便实施人员准确定位安装失败的具体原因。上述自助修复脚本可以用于根据操作系统的位数自主安装相应的版本的JDK(Java Development Kit,一种针对Java开发员的软件开发工具包)、Nginx(超文本传输协议和反向代理web服务器)、Redis(Remote Dictionary Server,远程字典服务)等init_server.xml配置中的第三方服务软件;自主根据操作系统修改字体编码;自主检查服务器端口是否与微服务部署软件默认端口一致并自主变更工具默认端口;联网并远程诊断开关打开的场景下可以通过自主访问公司异常检测服务进行远程协助处理(发请求到公司异常检测服务器,服务器匹配异常后将预设的修复脚本推送到微服务部署软件端并进行安装执行)。
可选地,启动环境配置可以包括当前服务器硬件环境配置和数据库连接配置,则步骤S12具体可以包括:确定符合微服务部署的运行要求的当前服务器硬件环境配置;确定符合微服务部署的运行要求的数据库连接配置。
具体地,请参考图2,图2为本申请实施例提供的一种当前服务器硬件环境配置确定步骤的流程示意图。该当前服务器硬件环境配置确定步骤的具体步骤可以如下:
步骤S121:通过硬件信息库检测并显示当前服务器硬件环境配置。
本实施例中的硬件信息库可以是ActiveX库、OSHI等。其中,OSHI是一个基于JNA(Java Native Access)的免费的本地操作系统和Java的硬件信息库。它不需要安装任何额外的本机库,旨在提供跨平台的实现来检索系统信息,如操作系统版本、进程、内存和CPU使用情况、磁盘和分区、设备、传感器等。以OSHI为例,通过OSHI来检测当前服务器硬件环境配置并以列表方式展现,包括CPU(Central Processing Unit,中央处理器)型号、操作系统、JDK、Redis、Nginx等的情况。
步骤S122:在所述当前服务器硬件环境配置与符合微服务部署的运行要求的预设服务器硬件环境配置不同时,采用基于可扩展标记语言XML的批量环境变量维护配置文件将所述当前服务器硬件环境配置修改为所述预设服务器硬件环境配置。
其中,可扩展标记语言(Extensible Markup Language,XML)是一种用于标记电子文件使其具有结构性的标记语言,在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,同时也是当今处理分布式结构信息的有效工具。
当前服务器硬件环境配置可以包括第三方应用软件配置和第三方应用软件配置对应的环境变量配置。
可选地,本实施例中微服务部署软件附带有JDK、Redis、Nginx等安装包,在JDK、Redis或Nginx的安装状态不符合微服务部署的运行要求的预设第三方应用软件配置时,可以通过修改init_server.xml配置和添加相应安装包来方便的扩展第三方应用软件,自动解压对应的安装包并通过批处理文件配置该安装软件的环境变量,使第三方应用软件满足预设第三方应用软件配置。
具体地,基于XML的批量环境变量维护配置文件为envVariable.xml,提供环境变量的一键初始化能力,且通过读取envVariable.xml可以将配置文件可视化成列表信息,同时还可以通过envVariable.xml修改环境变量,因此本实施例中采用envVariable.xml将当前服务器硬件环境配置中的环境变量修改为符合预设服务器硬件环境配置。
具体地,本实施例的envVariable.xml中可以每个微服务可以包括如下信息:serviceName、serviceType、order、serviceStatus、logPath和port。其中,serviceName为服务标识;serviceType为服务类型,分前台服务及后台服务,前台用front,后台用back表示;order是启动权重,值越大优先启动;serviceStatus为服务状态,0未启动,1已启动,默认为0;logPath为日志路径;port为服务端口,即服务启动占用的端口。
进一步地,上述采用envVariable.xml进行环境变量修改可以是基于envVariable.xml中的预设服务器硬件环境配置的环境变量JAVA程序打包的JAR文件生成的批处理文件实现。该批处理文件的生成和执行原理本实施例在下文进行说明。
具体地,请参考图3,图3为本申请实施例提供的一种数据库连接配置确定步骤的流程示意图。该数据库连接配置确定步骤的具体步骤可以如下:
步骤S123:基于用户指令适配指定数据库类型的数据库连接驱动。
本实施例中指定数据库类型可以是SQL(Structured Query Language,结构化查询语言)数据库、XML数据库、Oracle数据库等,因此数据库连接驱动应该与上述各种指定数据库类型相对应。
上述数据库驱动也成为数据库驱动程序,是一个动态链接库(Dynamic LinkLibrary,DLL),用以将特定的开放式数据库连接的数据源和另一个应用程序(客户端,本实施例中为微服务部署软件)相连接。
步骤S124:基于数据库连接驱动与指定数据库连接,指定数据库包括至少一个微服务的XML文件,指定数据库用于存储和执行全量脚本和增量脚本。
其中,全量脚本就是数据库中所有的脚本数据,增量脚本是上次导出之后的新数据脚本。
微服务部署软件需要根据用户上传的增量脚本名称和选择的增量脚本标签进行第一次握手识别,识别通过后,微服务部署软件读取远程数据库中标识库systemConfig中版本信息进行二次握手识别,识别通过后开始执行增量脚本。
应当理解的是,在进行微服务的部署之前,本实施例还需要确定需要部署的微服务,其具体步骤可以包括:读取并显示server.xml文件中配置的微服务;基于用户指令选择从server.xml文件中配置的微服务中选择需要部署的至少一个微服务。
微服务部署软件显示的微服务列表可以读取server.xml文件中配置的服务清单,用户可以选择性的启动相应的微服务。
步骤S14:通过批处理文件将至少一个微服务进行部署,至少一个微服务中每个微服务对应的批处理文件是基于每个微服务的Java程序打包的JAR文件生成。
具体地,请参考图4,图4为本申请实施例提供的一种基于批处理文件的微服务部署步骤的流程示意图,该基于批处理文件的微服务部署步骤具体可以包括:
步骤S141:在指定数据库中对server.xml文件进行服务属性配置。
server.xml文件中的服务属性可以是每个微服务对应的批量环境变量维护配置文件。
步骤S142:读取指定数据库中每个微服务的JAR文件。
应当理解的是,每个微服务的JAR文件是将server.xml文件中需要添加的微服务对应的数据打包获得的JAR包。
具体地,本实施例中的打包可以基于Inno Setup实现,其是一个免费的安装制作软件(开源),它既有适合新手的脚本向导,又有良好的脚本编辑环境。
步骤S143:在每个微服务的JAR文件目录下添加启动批处理文件和停止批处理文件。
可选地,每个微服务的JAR文件目录下可以存储有示例批处理文件,对其属性参数进行修改即可实现启动批处理文件或停止批处理文件的相应功能。
其中,启动批处理文件的批处理文件名、服务名以及日志文件名与server.xml文件中相同微服务的配置相同,停止批处理文件的批处理文件名以及端口号与server.xml文件中相同微服务的配置相同。
用户可以通过执行启动批处理文件启动对应的微服务,也可以通过执行停止批处理文件停止对应的微服务。
可选地,微服务部署软件和所涉及的微服务可以是打包在一起的,微服务部署软件安装后,所涉及的微服务的JAR包会被解压到安装目录下的指定位置(对应微服务的JAR文件目录),从而获得启动批处理文件和停止批处理文件。
作为一种可选的实施方式,本实施例还可以进行前台微服务添加,首先在前台微服务对应的安装目录下的services.xml配置服务属性,并在前台微服务的Nginx对应网页目录下添加前端代码,并且在Nginx对应conf目录下添加对应的nginx配置,即可完成前台微服务的部署。
可选地,本实施例还可以基于监控工具对至少一个微服务进行监控和在线可视化,监控工具包括Spring Boot Admin,可以查看服务健康状况。该监控工具提供了对运行中服务日志进行在线可视化阅读的能力,降低运维人员的运维成本及运维难度,同时其可以自动收集微服务集群运行信息和服务器硬件资源使用信息并对其进行敏感异常信息进行解析与收集,定期生成服务运维雷达图。
进一步地,当监控工具发现微服务监控出现异常或者安装异常排查及修复时,会发出预警通知,且监控工具定期会将特定时间端的日志文件进行压缩后自动上传到指定的日志服务,以备后续查阅。可选地,监控工具还可以提供开放API(ApplicationProgramming Interface,应用程序接口)与第三方通信工具对接完成预警信息的实时推送。
本实施例利用windows系统天然的界面化操作优势,将繁琐的微服务部署环境过程,通过简单的界面操作替代,实现了可视化步骤操作,实现了服务部署的零命令行操,构建成微服务部署的一站式装置,包括微服务部署的环境检测、服务配置、服务管理、服务监控、数据库配置以及异常预警监控。
为了更好地配合本实施例提供的上述微服务部署方法,本申请实施例还提供了一种微服务部署装置20。
请参考图5,图5为本申请实施例提供的一种微服务部署装置的模块示意图。
微服务部署装置20包括:
环境配置模块21,用于确定微服务部署的启动环境配置;
部署模块22,用于通过批处理文件将至少一个微服务进行部署,至少一个微服务中每个微服务对应的批处理文件是基于每个微服务的Java程序打包的JAR文件生成。
可选地,环境配置模块21具体用于:确定符合微服务部署的运行要求的当前服务器硬件环境配置;确定符合微服务部署的运行要求的数据库连接配置。
可选地,环境配置模块21具体用于:通过硬件信息库检测并显示当前服务器硬件环境配置,硬件信息库包括OSHI;在当前服务器硬件环境配置与符合微服务部署的运行要求的预设服务器硬件环境配置不同时,采用基于可扩展标记语言XML的批量环境变量维护配置文件将当前服务器硬件环境配置修改为预设服务器硬件环境配置。
可选地,环境配置模块21具体用于:基于用户指令适配指定数据库类型的数据库连接驱动;基于数据库连接驱动与指定数据库连接,指定数据库包括至少一个微服务的XML文件,指定数据库用于存储和执行全量脚本和增量脚本。
可选地,部署模块22具体用于:读取并显示server.xml文件中配置的微服务;基于用户指令选择从server.xml文件中配置的微服务中选择需要部署的至少一个微服务。
可选地,部署模块22具体用于:在指定数据库中对server.xml文件进行服务属性配置;读取指定数据库中每个微服务的JAR文件;在每个微服务的JAR文件目录下添加启动批处理文件和停止批处理文件,启动批处理文件的批处理文件名、服务名以及日志文件名与server.xml文件中相同微服务的配置相同,停止批处理文件的批处理文件名以及端口号与server.xml文件中相同微服务的配置相同;其中,启动批处理文件和停止批处理文件用于在执行时启动或停止至少一个微服务。
可选地,微服务部署装置20还包括:监控模块,用于基于监控工具对至少一个微服务进行监控和在线可视化,监控工具包括Spring Boot Admin。
本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行本实施例提供的微服务部署方法中任一项所述方法中的步骤。
应当理解是,该电子设备可以是个人电脑(Personal Computer,PC)、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)等具有逻辑计算功能的电子设备。
本申请实施例还提供了一种可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行微服务部署方法中的步骤。
综上所述,本申请实施例提供了一种微服务部署方法,所述方法包括:确定微服务部署的启动环境配置;通过批处理文件将至少一个微服务进行部署,所述至少一个微服务中每个微服务对应的批处理文件是基于所述每个微服务的Java程序打包的JAR文件生成。
在上述实现方式中,首先确定微服务部署的启动环境配置,从而完成批量部署微服务的环境和文件基础,并通过批处理文件对微服务的Java程序打包的JAR文件进行脚本执行,从而实现微服务的批量自动部署,提高了微服务部署效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的框图显示了根据本申请的多个实施例的设备的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图中的每个方框、以及框图的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。因此本实施例还提供了一种可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行区块数据存储方法中任一项所述方法中的步骤。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RanDom Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (7)
1.一种微服务部署方法,其特征在于,所述方法包括:
确定微服务部署的启动环境配置;
通过批处理文件将至少一个微服务进行部署,所述至少一个微服务中每个微服务对应的批处理文件是基于所述每个微服务的Java程序打包的JAR文件生成;
其中,所述启动环境配置包括当前服务器硬件环境配置和数据库连接配置,所述确定微服务部署的启动环境配置,包括:确定符合微服务部署的运行要求的当前服务器硬件环境配置;确定符合微服务部署的运行要求的数据库连接配置;
其中,所述确定符合微服务部署的运行要求的数据库连接配置,包括:基于用户指令适配指定数据库类型的数据库连接驱动;基于所述数据库连接驱动与指定数据库连接,所述指定数据库包括所述至少一个微服务的XML文件,所述指定数据库用于存储和执行全量脚本和增量脚本;
其中,在所述至少一个微服务为后台服务时,所述通过批处理文件将至少一个微服务进行部署,包括:在所述指定数据库中对server.xml文件进行服务属性配置;读取所述指定数据库中所述每个微服务的JAR文件;在所述每个微服务的JAR文件目录下添加启动批处理文件和停止批处理文件,所述启动批处理文件的批处理文件名、服务名以及日志文件名与所述server.xml文件中相同微服务的配置相同,所述停止批处理文件的批处理文件名以及端口号与所述server.xml文件中相同微服务的配置相同;其中,所述启动批处理文件和所述停止批处理文件用于在执行时启动或停止所述至少一个微服务。
2.根据权利要求1所述的方法,其特征在于,所述确定符合微服务部署的运行要求的当前服务器硬件环境配置,包括:
通过硬件信息库检测并显示当前服务器硬件环境配置,所述硬件信息库包括OSHI;
在所述当前服务器硬件环境配置与符合微服务部署的运行要求的预设服务器硬件环境配置不同时,采用基于可扩展标记语言XML的批量环境变量维护配置文件将所述当前服务器硬件环境配置修改为所述预设服务器硬件环境配置。
3.根据权利要求1所述的方法,其特征在于,在所述通过批处理文件将至少一个微服务进行部署之前,所述方法还包括:
读取并显示server.xml文件中配置的微服务;
基于用户指令选择从所述server.xml文件中配置的微服务中选择需要部署的至少一个微服务。
4.根据权利要求1所述的方法,其特征在于,所述方法包括:
基于监控工具对所述至少一个微服务进行监控和在线可视化,所述监控工具包括Spring Boot Admin。
5.一种微服务部署装置,其特征在于,所述装置包括:
环境配置模块,用于确定微服务部署的启动环境配置;
部署模块,用于通过批处理文件将至少一个微服务进行部署,所述至少一个微服务中每个微服务对应的批处理文件是基于所述每个微服务的Java程序打包的JAR文件生成;
其中,所述环境配置模块具体用于:确定符合微服务部署的运行要求的当前服务器硬件环境配置;确定符合微服务部署的运行要求的数据库连接配置;以及,基于用户指令适配指定数据库类型的数据库连接驱动;基于数据库连接驱动与指定数据库连接,指定数据库包括至少一个微服务的XML文件,指定数据库用于存储和执行全量脚本和增量脚本;
所述部署模块具体用于:在指定数据库中对server.xml文件进行服务属性配置;读取指定数据库中每个微服务的JAR文件;在每个微服务的JAR文件目录下添加启动批处理文件和停止批处理文件,启动批处理文件的批处理文件名、服务名以及日志文件名与server.xml文件中相同微服务的配置相同,停止批处理文件的批处理文件名以及端口号与server.xml文件中相同微服务的配置相同;其中,启动批处理文件和停止批处理文件用于在执行时启动或停止至少一个微服务。
6.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器运行所述程序指令时,执行权利要求1-4中任一项所述方法中的步骤。
7.一种存储介质,其特征在于,所述存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器运行时,执行权利要求1-4任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010552305.9A CN111708571B (zh) | 2020-06-17 | 2020-06-17 | 微服务部署方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010552305.9A CN111708571B (zh) | 2020-06-17 | 2020-06-17 | 微服务部署方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111708571A CN111708571A (zh) | 2020-09-25 |
CN111708571B true CN111708571B (zh) | 2023-06-30 |
Family
ID=72540596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010552305.9A Active CN111708571B (zh) | 2020-06-17 | 2020-06-17 | 微服务部署方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708571B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112068852B (zh) * | 2020-09-27 | 2022-06-17 | 山东云海国创云计算装备产业创新中心有限公司 | 基于国产服务器的开源软件安装方法、系统及设备和介质 |
CN112612541A (zh) * | 2020-12-18 | 2021-04-06 | 北京中电普华信息技术有限公司 | 一种配置文件的管理方法及装置 |
CN112883312B (zh) * | 2021-02-05 | 2023-06-20 | 浙江卡易智慧医疗科技有限公司 | 一种支持跨平台的Nginx可视化配置系统及方法 |
CN113010378B (zh) * | 2021-03-04 | 2023-02-03 | 万翼科技有限公司 | 微服务模块的日志处理方法及装置、存储介质、电子装置 |
CN113741909B (zh) * | 2021-08-31 | 2024-04-12 | 平安国际智慧城市科技股份有限公司 | 微服务部署方法、装置、电子设备及存储介质 |
CN113934446B (zh) * | 2021-12-16 | 2022-04-22 | 中电云数智科技有限公司 | 一种基于容器云平台的微服务配置系统及方法 |
CN114296832A (zh) * | 2021-12-31 | 2022-04-08 | 北京易华录信息技术股份有限公司 | 一种部署微服务的生产环境的方法和装置 |
CN115202711B (zh) * | 2022-06-29 | 2023-11-14 | 易保网络技术(上海)有限公司 | 数据发布方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107102847A (zh) * | 2016-02-23 | 2017-08-29 | 中国水电工程顾问集团有限公司 | 基于微服务的软件开发方法、装置及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10255052B2 (en) * | 2017-05-30 | 2019-04-09 | International Business Machines Corporation | Dynamic deployment of an application based on micro-services |
CN110858144A (zh) * | 2018-08-24 | 2020-03-03 | 中国电信股份有限公司 | 服务器自动部署方法、装置和系统、计算机可读存储介质 |
CN110058864B (zh) * | 2019-04-18 | 2023-08-22 | 成都四方伟业软件股份有限公司 | 微服务的部署方法及装置 |
CN111198695A (zh) * | 2019-12-25 | 2020-05-26 | 航天信息股份有限公司 | 微服务治理管理平台的自动化部署方法和电子设备 |
-
2020
- 2020-06-17 CN CN202010552305.9A patent/CN111708571B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107102847A (zh) * | 2016-02-23 | 2017-08-29 | 中国水电工程顾问集团有限公司 | 基于微服务的软件开发方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111708571A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111708571B (zh) | 微服务部署方法、装置、电子设备及存储介质 | |
EP2808790B1 (en) | Migration assessment for cloud computing platforms | |
AU2017203498B2 (en) | Software testing integration | |
US10496605B2 (en) | Application deployment for data intake and query system | |
US9658914B2 (en) | Troubleshooting system using device snapshots | |
US10540266B2 (en) | Method and system for testing software based system | |
US8140905B2 (en) | Incremental problem determination and resolution in cloud environments | |
US8555238B2 (en) | Programming and development infrastructure for an autonomic element | |
US11409760B2 (en) | Data array of objects indexing | |
US11762763B2 (en) | Orchestration for automated performance testing | |
US9298571B2 (en) | Method and apparatus for correlating input and output messages of system under test | |
CN111651405A (zh) | 配置文件管理方法、装置、设备及存储介质 | |
CN107622006B (zh) | 移动装置测试系统和用于测试移动装置的方法 | |
US11307839B2 (en) | Updating of container-based applications | |
CN116955203A (zh) | 服务接口的自动化测试方法 | |
US20210182453A1 (en) | Application behavior identification | |
CN111382079B (zh) | 应用程序现场还原的方法、装置、设备及存储介质 | |
Tolaram | cadvisor | |
US20230409309A1 (en) | Device of Updating Library Required by Testing Program for Testing and Method Thereof | |
CN117453237A (zh) | 模型转换方法以及相关装置 | |
CN116074224A (zh) | 基于工业物联网的插拔式协议插件测试系统及其应用方法 | |
CN117707893A (zh) | 一种部署跨架构的大数据集群监控系统的方法及系统 | |
CN117194207A (zh) | 一种冒烟测试方法、装置、设备及存储介质 | |
Šafařík | Cloud Infrastructure Health Monitoring System |
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 | ||
CB02 | Change of applicant information |
Address after: 519000 Rooms 806, 901 and 902, No. 29, Lanwan Lane, Tangjiawan Town, Xiangzhou District, Zhuhai City, Guangdong Province Applicant after: Hongqiao Hi Tech Group Co.,Ltd. Address before: 519000 1st floor, area D, South Software Park, No.1, Tangjiawan Software Park Road, Xiangzhou District, Zhuhai City, Guangdong Province Applicant before: ZHUHAI HONGQIAO HIGH-TECH Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |