CN113741919A - 一种微服务管理方法及装置 - Google Patents

一种微服务管理方法及装置 Download PDF

Info

Publication number
CN113741919A
CN113741919A CN202111098827.7A CN202111098827A CN113741919A CN 113741919 A CN113741919 A CN 113741919A CN 202111098827 A CN202111098827 A CN 202111098827A CN 113741919 A CN113741919 A CN 113741919A
Authority
CN
China
Prior art keywords
deployment
target
module
micro
information
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
Application number
CN202111098827.7A
Other languages
English (en)
Inventor
赖俊宏
黄权益
李志鹏
徐子钦
杨宜昆
蔡佳玲
曾俊康
梁智华
莫宇阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202111098827.7A priority Critical patent/CN113741919A/zh
Publication of CN113741919A publication Critical patent/CN113741919A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version 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)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种微服务管理方法及装置,可以应用于部署管理节点,从配置文件中确定至少一条模块部署信息,将一条模块部署信息确定为当前的目标模块部署信息,将目标部署包发送至至少一个目标部署服务器的目标部署目录下,分别指令各目标部署服务器部署目标微服务模块,返回执行将一条模块部署信息确定为当前的目标模块部署信息的步骤,直至完成各模块部署信息相关的微服务模块部署处理。本发明可以通过连接目标部署服务器,基于模块部署信息向目标部署服务器发送目标微服务模块,指令目标部署服务器部署目标微服务模块,而无需在目标部署服务器上安装代理程序,避免需对代理程序进行维护和升级而导致的大量资源消耗,有效减少资源消耗。

Description

一种微服务管理方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种微服务管理方法及装置。
背景技术
随着计算机技术的发展,应用程序的开发及部署能力不断提高。
当前,应用程序的访问压力越来越大,越来越多的应用程序通过采用微服务架构方式进行开发,即将单体应用程序拆分为松耦合的多个较小的微服务模块。而这也使得应用程序的部署复杂度陡增。
具体的,以往的单体应用程序可以通过Web容器控制台进行部署即可,而微服务部署则会面临部署模块数量多,参数配置复杂,需要部署的目标服务器数量多等问题。目前业内常用的微服务部署方式,大多需要预先在目标服务器上安装代理程序,才可以进行部署。
但是,代理程序需要进行升级维护,当需要进行微服务部署的目标服务器数量较多时,升级维护代理程序所需的资源消耗多。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的微服务管理方法及装置,技术方案如下:
一种微服务管理方法,应用于部署管理节点,所述方法包括:
对预先设置的配置文件进行解析,从所述配置文件中确定至少一条模块部署信息,所述配置文件中预先保存有各所述模块部署信息,各所述模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址和一条目标部署路径;
将一条所述模块部署信息确定为当前的目标模块部署信息;
将目标部署包发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;其中,所述目标部署包为所述目标模块部署信息中的微服务模块名所对应的目标微服务模块的部署包,各所述目标部署服务器为所述目标模块部署信息中的各目标部署IP地址分别对应的服务器,所述目标部署目录为所述目标模块部署信息中的目标部署路径所对应的目录;
分别指令各所述目标部署服务器在所述目标部署目录下,基于所述目标部署包部署所述目标微服务模块;
返回执行所述将一条所述模块部署信息确定为当前的目标模块部署信息的步骤,直至完成各所述模块部署信息相关的微服务模块部署处理。
可选的,所述方法还包括:
基于安全外壳SSH协议,与所述目标部署服务器进行免密连接。
可选的,各所述模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址、一条目标部署路径和个性化配置信息;
所述将目标部署包发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下,包括:
将所述目标部署包与所述个性化配置信息发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;
所述分别指令各所述目标部署服务器在所述目标部署目录下,基于所述目标部署包部署所述目标微服务模块,包括:
分别指令各所述目标部署服务器在所述目标部署目录下,基于所述目标部署包和所述个性化配置信息部署所述目标微服务模块。
可选的,各所述模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址、一条目标部署路径和模块启停脚本;
所述将目标部署包发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下,包括:
将所述目标部署包与所述模块启停脚本发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;
所述方法还包括:
在目标部署服务器中,通过所述模块启停脚本控制已部署好的所述目标微服务模块进行启动或停止运行。
可选的,所述方法还包括:
在所述目标部署服务器的进程管理列表中,检查是否对应存在有所述目标微服务模块的微服务模块名和进程标识,以确定所述目标微服务模块是否启动成功。
可选的,所述方法还包括:
分别从各所述目标部署服务器中采集微服务模块运行日志;
通过所述微服务模块运行日志,监控相应目标微服务模块的运行状态是否正常。
一种微服务管理装置,应用于部署管理节点,所述装置包括:第一确定单元、第二确定单元、发送单元、指令单元和触发单元,其中:
所述第一确定单元,被配置为执行:对预先设置的配置文件进行解析,从所述配置文件中确定至少一条模块部署信息,所述配置文件中预先保存有各所述模块部署信息,各所述模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址和一条目标部署路径;
所述第二确定单元,被配置为执行:将一条所述模块部署信息确定为当前的目标模块部署信息;
所述发送单元,被配置为执行:将目标部署包发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;其中,所述目标部署包为所述目标模块部署信息中的微服务模块名所对应的目标微服务模块的部署包,各所述目标部署服务器为所述目标模块部署信息中的各目标部署IP地址分别对应的服务器,所述目标部署目录为所述目标模块部署信息中的目标部署路径所对应的目录;
所述指令单元,被配置为执行:分别指令各所述目标部署服务器在所述目标部署目录下,基于所述目标部署包部署所述目标微服务模块;
所述触发单元,被配置为执行:触发所述第二确定单元,直至完成各所述模块部署信息相关的微服务模块部署处理。
可选的,所述装置还包括:免密连接单元;
所述免密连接单元,被配置为执行:基于安全外壳SSH协议,与所述目标部署服务器进行免密连接。
可选的,各所述模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址、一条目标部署路径和个性化配置信息;
所述发送单元,被配置为执行:将所述目标部署包与所述个性化配置信息发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;
所述指令单元,被配置为执行:分别指令各所述目标部署服务器在所述目标部署目录下,基于所述目标部署包和所述个性化配置信息部署所述目标微服务模块。
可选的,各所述模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址、一条目标部署路径和模块启停脚本;
所述发送单元,被配置为执行:将所述目标部署包与所述模块启停脚本发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;
所述装置还包括:控制单元;
所述控制单元,被配置为执行:在目标部署服务器中,通过所述模块启停脚本控制已部署好的所述目标微服务模块进行启动或停止运行。
可选的,所述装置还包括:检查单元;
所述检查单元,被配置为执行:在所述目标部署服务器的进程管理列表中,检查是否对应存在有所述目标微服务模块的微服务模块名和进程标识,以确定所述目标微服务模块是否启动成功。
可选的,所述装置还包括:采集单元和监控单元;
所述采集单元,被配置为执行:分别从各所述目标部署服务器中采集微服务模块运行日志;
所述监控单元,被配置为执行:通过所述微服务模块运行日志,监控相应目标微服务模块的运行状态是否正常。
本实施例提出的微服务管理方法及装置,可以应用于部署管理节点,对预先设置的配置文件进行解析,从配置文件中确定至少一条模块部署信息,配置文件中预先保存有各模块部署信息,各模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址和一条目标部署路径,将一条模块部署信息确定为当前的目标模块部署信息,将目标部署包发送至与部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;其中,目标部署包为目标模块部署信息中的微服务模块名所对应的目标微服务模块的部署包,各目标部署服务器为目标模块部署信息中的各目标部署IP地址分别对应的服务器,目标部署目录为目标模块部署信息中的目标部署路径所对应的目录,分别指令各目标部署服务器在目标部署目录下,基于目标部署包部署目标微服务模块,返回执行将一条模块部署信息确定为当前的目标模块部署信息的步骤,直至完成各模块部署信息相关的微服务模块部署处理。
本发明可以通过连接目标部署服务器,基于模块部署信息向目标部署服务器发送目标微服务模块,并指令目标部署服务器对目标微服务模块进行部署,而无需在目标部署服务器上预先安装代理程序,避免维护和升级代理程序导致的需消耗大量资源的情况,可以有效减少资源消耗。
上述说明仅是本发明技术方案的概述,为了能够更清楚地了解本发明的技术手段,可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明实施例提供的第一种微服务管理方法的流程图;
图2示出了本发明实施例提供的第二种微服务管理方法的流程图;
图3示出了本发明实施例提供的第一种微服务管理装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
如图1所示,本实施例提出了第一种微服务管理方法,可以应用于应用于部署管理节点,该方法可以包括以下步骤:
S101、对预先设置的配置文件进行解析,从配置文件中确定至少一条模块部署信息,配置文件中预先保存有各模块部署信息,各模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址和一条目标部署路径;
其中,部署管理节点可以是用于进行部署管理的电子设备。该电子设备可以为手机、平板电脑和台式电脑等,本发明对于电子设备的具体设备类型不做限定。
其中,目标部署IP地址可以为需部署目标微服务模块的目标部署服务器的IP地址。
其中,目标部署服务器可以为需要部署目标微服务模块的服务器。
其中,目标部署路径可以为目标微服务模块在目标部署服务器中的部署路径。
具体的,模块部署信息可以由技术人员预先根据目标微服务模块的微服务模块名、目标部署IP地址和目标部署路径进行创建。
需要说明的是,配置文件可以由技术人员预先进行创建。本发明可以由技术人员将已创建好的模块部署信息保存至已创建好的配置文件中,也可以在已创建好的配置文件中添加模块部署信息。
其中,每条模块部署信息中均可以记录目标微服务模块需在目标部署服务器中进行部署的信息。比如,第一模块部署信息中,可以对应保存第一微服务模块名、第一目标部署IP地址、第二目标部署IP地址和第一目标部署路径,此时,第一模块部署信息可以说明第一微服务模块名对应的第一目标微服务模块,可以按照第一目标部署路径部署在第一目标部署IP地址对应的第一目标部署服务器中,也可以按照第一目标部署路径部署在第二目标部署IP地址对应的第二目标部署服务器中。
可选的,本发明在创建模块部署信息时,可以使用自定义的分隔符对模块部署信息中的不同信息进行类型区分。而在对模块部署信息进行解析时,本发明即可以根据自定义的分隔符来对不同类型的信息进行识别、分割和提取。
可以理解的是,在不同的模块部署信息中,微服务模块名、目标部署IP地址和/或目标部署路径可以是相同的。
具体的,当一个应用程序拆分为N个微服务模块,并需要部署到M个目标部署服务器中时,本发明可以创建N条模块部署信息,每条模块部署信息中的微服务模块名均可以是上述N个微服务模块中一个微服务模块的模块名(上述N个微服务模块中一个微服务模块均可以作为目标微服务模块),且每条模块部署信息中的微服务模块名均是不同的,而N条模块部署信息中的目标部署IP地址均可以包括M个目标部署服务器的IP地址,N条模块部署信息中的目标部署路径均可以是相同的。
可选的,模块部署信息中还可以保存有目标微服务模块的版本信息等相关信息。
S102、将一条模块部署信息确定为当前的目标模块部署信息;
需要说明的是,本发明可以分别基于各条模块部署信息,执行相关目标微服务模块在目标部署服务器中的部署任务。
具体的,本发明可以依次将各条模块部署信息确定为目标模块部署信息,针对目标模块部署信息来执行相关目标微服务模块在目标部署服务器中的部署任务。
S103、将目标部署包发送至与部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;其中,目标部署包为目标模块部署信息中的微服务模块名所对应的目标微服务模块的部署包,各目标部署服务器为目标模块部署信息中的各目标部署IP地址分别对应的服务器,目标部署目录为目标模块部署信息中的目标部署路径所对应的目录;
其中,上述部署管理节点可以预先保存有目标部署包。
需要说明的是,本发明可以基于各条模块部署信息,实现对相关目标微服务模块在目标部署服务器中的部署处理。
具体的,本发明可以分别将各条模块部署信息确定为当前的目标模块部署信息,针对目标模块部署信息进行对相关目标微服务模块的部署处理,将目标模块部署信息中记录的微服务模块名所对应的目标部署包,发送至目标部署IP地址所对应的目标部署服务器中的目标部署位置处。
可选的,本发明在将目标部署包发送至目标部署服务器之前,可以先行与目标部署服务器进行连接。
可选的,上述方法还可以包括:
基于安全外壳(Secure Shell,SSH)协议,与目标部署服务器进行免密连接。
具体的,本发明可以预先通过SSH协议与目标部署服务器进行免密连接,之后再向目标部署服务器发送目标微服务模块的目标部署包。
可选的,目标部署包可以为jar包,也可以为其它类型的包,本发明对此不做限定。
S104、分别指令各目标部署服务器在目标部署目录下,基于目标部署包部署目标微服务模块;
具体的,本发明可以在将目标部署包发送至各目标部署服务器的目标部署目录之后,可以分别指令各目标部署服务器在目标部署目录下启动目标部署包,对目标部署包进行部署,从而实现各目标部署服务器对目标微服务模块的部署。比如,当目标部署服务器包括有第一目标部署服务器和第二目标部署服务器时,本发明可以在将目标部署包发送至第一目标部署服务器和第二目标部署服务器之后,先行指令第一目标部署服务器在目标部署目录下启动目标部署包,对目标部署包进行部署,实现第一目标部署服务器对目标微服务模块的部署,之后再指令第二目标部署服务器在目标部署目录下启动目标部署包,对目标部署包进行部署,实现第二目标部署服务器对目标微服务模块的部署。
具体的,当目标微服务模块为用于实现某一类功能的java进程时,目标部署包可以为相应的jar包,此时本发明可以在将jar包发送至目标部署服务器的目标部署目录下之后,通过相应的命令启动jar包以产生java进程,实现目标微服务模块在目标部署服务器上的部署。
需要说明的是,本发明在处理(如启动)jar包过程中会产生临时文件。可选的,当目标部署包为jar包时,本发明可以在与各目标部署服务器连接之后,分别指令各目标部署服务器在指定路径下创建一个工作目录,作为后续在处理(如启动)jar包过程中存放临时文件的中转处。
S105、返回执行将一条模块部署信息确定为当前的目标模块部署信息的步骤,直至完成各模块部署信息相关的微服务模块部署处理。
具体的,本发明可以在执行完一条模块部署信息所对应的目标微服务模块部署任务之后,即返回执行步骤S102,将配置文件中的另一条模块部署信息确定为当前的目标模块部署信息,再执行目标模块部署信息所对应的相关目标微服务模块的部署任务。依次类推,直至执行完成配置文件中所有模块部署信息所对应的相关目标微服务模块的部署任务。
可以理解的是,本发明可以通过在部署管理节点上预先保存目标部署包、配置模块部署信息以及连接目标部署服务器,即可将目标微服务模块的目标部署包分发至各个目标部署服务器,实现目标微服务模块在各目标部署服务器上的部署,实现一处配置(即部署管理节点),处处生效(即各目标部署服务器),有利提高部署效率。
需要说明的是,本发明可以通过连接目标部署服务器,基于模块部署信息向目标部署服务器发送目标微服务模块,并指令目标部署服务器对目标微服务模块进行部署,而无需在目标部署服务器上预先安装代理程序,避免维护和升级代理程序导致的需消耗大量资源的情况,可以有效减少资源消耗。
需要说明的是,现有技术在需新增目标部署服务器时,均需预先的在目标部署服务器上部署代理程序,此时,当需要新增的目标部署服务器数量较多时,现有技术的部署速度会显著降低,部署效率也会显著降低。而本发明在需要新增目标部署服务器时,通过在相应的已有模块部署信息中进行设置即可实现。当需新增目标部署服务器的数量较多时,本发明相对于现有技术,在部署速率及效率上具有明显提高,可以有效实现弹性伸缩部署。
本实施例提出的微服务管理方法,可以应用于部署管理节点,对预先设置的配置文件进行解析,从配置文件中确定至少一条模块部署信息,配置文件中预先保存有各模块部署信息,各模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址和一条目标部署路径,将一条模块部署信息确定为当前的目标模块部署信息,将目标部署包发送至与部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;其中,目标部署包为目标模块部署信息中的微服务模块名所对应的目标微服务模块的部署包,各目标部署服务器为目标模块部署信息中的各目标部署IP地址分别对应的服务器,目标部署目录为目标模块部署信息中的目标部署路径所对应的目录,分别指令各目标部署服务器在目标部署目录下,基于目标部署包部署目标微服务模块,返回执行将一条模块部署信息确定为当前的目标模块部署信息的步骤,直至完成各模块部署信息相关的微服务模块部署处理。本发明可以通过连接目标部署服务器,基于模块部署信息向目标部署服务器发送目标微服务模块,并指令目标部署服务器对目标微服务模块进行部署,而无需在目标部署服务器上预先安装代理程序,避免维护和升级代理程序导致的需消耗大量资源的情况,可以有效减少资源消耗。
基于图1所示步骤,如图2所示,本实施例提出第二种微服务管理方法。在该方法中,各模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址、一条目标部署路径和个性化配置信息;步骤103可以为步骤S201,步骤S104可以为步骤S202。其中:
S201、将目标部署包与个性化配置信息发送至与部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;
需要说明的是,为防止开发人员在开发的过程中误将测试环境的配置信息带到实际生产环境中,本发明可以由技术人员预先从目标部署包中提取出目标微服务模块需进行外部化配置的配置信息,比如目标微服务模块需要连接的数据库IP、用户名和密码等信息,之后由技术人员使用实际生产环境参数或者自定义启动参数等,对配置信息中的各参数值进行替换。
可选的,当目标微服务模块包括多个java进程时,个性化配置信息可以为多进程配套启动参数。
具体的,本发明可以将目标部署包和个性化配置信息一齐推送至目标部署服务器。
S202、分别指令各目标部署服务器在目标部署目录下,基于目标部署包和个性化配置信息部署目标微服务模块。
具体的,本发明利用目标部署包和个性化配置信息实现目标微服务模块在目标部署服务器上的个性化部署。
本实施例提出的微服务管理方法,可以将目标部署包和个性化配置信息一齐推送至目标部署服务器,利用目标部署包和个性化配置信息实现目标微服务模块在目标部署服务器上的个性化部署。
基于图1所示步骤,本实施例提出第三种微服务管理方法。在该方法中,各模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址、一条目标部署路径和模块启停脚本;此时,步骤S103可以为步骤S301,该方法还可以包括步骤S302。其中:
S301、将目标部署包与模块启停脚本发送至与部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;
需要说明的是,本发明可以预先设置远程管理模块,在将目标部署包和模块启动脚本发送至目标部署服务器之后,可以利用预先设置的远程管理模块来远程管理目标微服务模块,实现一对多的管理。
S302、在目标部署服务器中,通过模块启停脚本控制已部署好的目标微服务模块进行启动或停止运行。
具体的,本发明可以通过远程管理模块,调用模块启动脚本来控制已部署好的目标微服务模块进行启动、重启或停止运行。
具体的,本发明可以在控制目标微服务模块进行启动、重启或停止运行的过程中,监测目标微服务模块的运行状态,确定目标微服务模块是否部署成功。
可选的,第三种微服务管理方法中还可以包括:
在目标部署服务器的进程管理列表中,检查是否对应存在有目标微服务模块的微服务模块名和进程标识,以确定目标微服务模块是否启动成功。
具体的,本发明在指令目标部署服务器部署目标微服务模块之后,可以通过在目标部署服务器的进程管理列表中,查找是否对应存在目标微服务模块的微服务模块名和进程标识,来确定目标微服务模块是否成功启动,从而确定目标微服务模块是否成功部署。
可选的,第三种微服务管理方法中还可以包括:
分别从各目标部署服务器中采集微服务模块运行日志;
通过微服务模块运行日志,监控相应目标微服务模块的运行状态是否正常。
其中,目标微服务模块运行日志可以为记录有目标微服务模块运行过程的日志。
具体的,本发明可以在目标部署服务器上的目标微服务模块部署好后,从目标部署服务器中采集微服务模块运行日志,利用日志关键字正则匹配得到目标微服务模块运行过程中的关键节点信息,根据关键节点信息确定目标微服务模块的运行状态,从而确定目标微服务模块是否可以正常运行,实现对目标微服务模块的运行监测。而在确定目标微服务模块的运行过程出现异常时,本发明即可以输出告警,以提醒工作人员进行相关检查和维修工作。
本实施例提出的微服务管理方法,可以预先设置远程管理模块,在将目标部署包和模块启动脚本发送至目标部署服务器之后,可以利用预先设置的远程管理模块来远程管理目标微服务模块,实现一对多的管理。
基于图1所示步骤,如图3所示,本实施例提出了第一种微服务管理装置,可以应用于部署管理节点,该装置可以包括:第一确定单元101、第二确定单元102、发送单元103、指令单元104和触发单元105,其中:
第一确定单元101,被配置为执行:对预先设置的配置文件进行解析,从配置文件中确定至少一条模块部署信息,配置文件中预先保存有各模块部署信息,各模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址和一条目标部署路径;
其中,部署管理节点可以是用于进行部署管理的电子设备。该电子设备可以为手机、平板电脑和台式电脑等,本发明对于电子设备的具体设备类型不做限定。
其中,目标部署IP地址可以为需部署目标微服务模块的目标部署服务器的IP地址。
其中,目标部署服务器可以为需要部署目标微服务模块的服务器。
其中,目标部署路径可以为目标微服务模块在目标部署服务器中的部署路径。
具体的,模块部署信息可以由技术人员预先根据目标微服务模块的微服务模块名、目标部署IP地址和目标部署路径进行创建。
需要说明的是,配置文件可以由技术人员预先进行创建。本发明可以由技术人员将已创建好的模块部署信息保存至已创建好的配置文件中,也可以在已创建好的配置文件中添加模块部署信息。
其中,每条模块部署信息中均可以记录目标微服务模块需在目标部署服务器中进行部署的信息。
可选的,本发明在创建模块部署信息时,可以使用自定义的分隔符对模块部署信息中的不同信息进行类型区分。而在对模块部署信息进行解析时,本发明即可以根据自定义的分隔符来对不同类型的信息进行识别、分割和提取。
可以理解的是,在不同的模块部署信息中,微服务模块名、目标部署IP地址和/或目标部署路径可以是相同的。
具体的,当一个应用程序拆分为N个微服务模块,并需要部署到M个目标部署服务器中时,本发明可以创建N条模块部署信息,每条模块部署信息中的微服务模块名均可以是上述N个微服务模块中一个微服务模块的模块名(上述N个微服务模块中一个微服务模块均可以作为目标微服务模块),且每条模块部署信息中的微服务模块名均是不同的,而N条模块部署信息中的目标部署IP地址均可以包括M个目标部署服务器的IP地址,N条模块部署信息中的目标部署路径均可以是相同的。
可选的,模块部署信息中还可以保存有目标微服务模块的版本信息等相关信息。
第二确定单元102,被配置为执行:将一条模块部署信息确定为当前的目标模块部署信息;
需要说明的是,本发明可以分别基于各条模块部署信息,执行相关目标微服务模块在目标部署服务器中的部署任务。
具体的,本发明可以依次将各条模块部署信息确定为目标模块部署信息,针对目标模块部署信息来执行相关目标微服务模块在目标部署服务器中的部署任务。
发送单元103,被配置为执行:将目标部署包发送至与部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;其中,目标部署包为目标模块部署信息中的微服务模块名所对应的目标微服务模块的部署包,各目标部署服务器为目标模块部署信息中的各目标部署IP地址分别对应的服务器,目标部署目录为目标模块部署信息中的目标部署路径所对应的目录;
其中,上述部署管理节点可以预先保存有目标部署包。
需要说明的是,本发明可以基于各条模块部署信息,实现对相关目标微服务模块在目标部署服务器中的部署处理。
具体的,本发明可以分别将各条模块部署信息确定为当前的目标模块部署信息,针对目标模块部署信息进行对相关目标微服务模块的部署处理,将目标模块部署信息中记录的微服务模块名所对应的目标部署包,发送至目标部署IP地址所对应的目标部署服务器中的目标部署位置处。
可选的,本发明在将目标部署包发送至目标部署服务器之前,可以先行与目标部署服务器进行连接。
可选的,上述装置还包括:免密连接单元;
免密连接单元,被配置为执行:基于安全外壳SSH协议,与目标部署服务器进行免密连接。
具体的,本发明可以预先通过SSH协议与目标部署服务器进行免密连接,之后再向目标部署服务器发送目标微服务模块的目标部署包。
可选的,目标部署包可以为jar包,也可以为其它类型的包,本发明对此不做限定。
指令单元104,被配置为执行:分别指令各目标部署服务器在目标部署目录下,基于目标部署包部署目标微服务模块;
具体的,本发明可以在将目标部署包发送至各目标部署服务器的目标部署目录之后,可以分别指令各目标部署服务器在目标部署目录下启动目标部署包,对目标部署包进行部署,从而实现各目标部署服务器对目标微服务模块的部署。
具体的,当目标微服务模块为用于实现某一类功能的java进程时,目标部署包可以为相应的jar包,此时本发明可以在将jar包发送至目标部署服务器的目标部署目录下之后,通过相应的命令启动jar包以产生java进程,实现目标微服务模块在目标部署服务器上的部署。
需要说明的是,本发明在处理(如启动)jar包过程中会产生临时文件。可选的,当目标部署包为jar包时,本发明可以在与各目标部署服务器连接之后,分别指令各目标部署服务器在指定路径下创建一个工作目录,作为后续在处理(如启动)jar包过程中存放临时文件的中转处。
触发单元105,被配置为执行:触发第二确定单元102,直至完成各模块部署信息相关的微服务模块部署处理。
具体的,本发明可以在执行完一条模块部署信息所对应的目标微服务模块部署任务之后,即触发第二确定单元102,将配置文件中的另一条模块部署信息确定为当前的目标模块部署信息,再执行目标模块部署信息所对应的相关目标微服务模块的部署任务。依次类推,直至执行完成配置文件中所有模块部署信息所对应的相关目标微服务模块的部署任务。
可以理解的是,本发明可以通过在部署管理节点上预先保存目标部署包、配置模块部署信息以及连接目标部署服务器,即可将目标微服务模块的目标部署包分发至各个目标部署服务器,实现目标微服务模块在各目标部署服务器上的部署,实现一处配置(即部署管理节点),处处生效(即各目标部署服务器),有利提高部署效率。
需要说明的是,本发明可以通过连接目标部署服务器,基于模块部署信息向目标部署服务器发送目标微服务模块,并指令目标部署服务器对目标微服务模块进行部署,而无需在目标部署服务器上预先安装代理程序,避免维护和升级代理程序导致的需消耗大量资源的情况,可以有效减少资源消耗。
需要说明的是,现有技术在需新增目标部署服务器时,均需预先的在目标部署服务器上部署代理程序,此时,当需要新增的目标部署服务器数量较多时,现有技术的部署速度会显著降低,部署效率也会显著降低。而本发明在需要新增目标部署服务器时,通过在相应的已有模块部署信息中进行设置即可实现。当需新增目标部署服务器的数量较多时,本发明相对于现有技术,在部署速率及效率上具有明显提高,可以有效实现弹性伸缩部署。
本实施例提出的微服务管理装置,可以通过连接目标部署服务器,基于模块部署信息向目标部署服务器发送目标微服务模块,并指令目标部署服务器对目标微服务模块进行部署,而无需在目标部署服务器上预先安装代理程序,避免维护和升级代理程序导致的需消耗大量资源的情况,可以有效减少资源消耗。
基于图3所示,本实施例提出第二种微服务管理装置。在该装置中,各模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址、一条目标部署路径和个性化配置信息;
发送单元103,被配置为执行:将目标部署包与个性化配置信息发送至与部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;
需要说明的是,为防止开发人员在开发的过程中误将测试环境的配置信息带到实际生产环境中,本发明可以由技术人员预先从目标部署包中提取出目标微服务模块需进行外部化配置的配置信息,比如目标微服务模块需要连接的数据库IP、用户名和密码等信息,之后由技术人员使用实际生产环境参数或者自定义启动参数等,对配置信息中的各参数值进行替换。
可选的,当目标微服务模块包括多个java进程时,个性化配置信息可以为多进程配套启动参数。
具体的,本发明可以将目标部署包和个性化配置信息一齐推送至目标部署服务器。
指令单元104,被配置为执行:分别指令各目标部署服务器在目标部署目录下,基于目标部署包和个性化配置信息部署目标微服务模块。
具体的,本发明利用目标部署包和个性化配置信息实现目标微服务模块在目标部署服务器上的个性化部署。
本实施例提出的微服务管理装置,可以将目标部署包和个性化配置信息一齐推送至目标部署服务器,利用目标部署包和个性化配置信息实现目标微服务模块在目标部署服务器上的个性化部署。
基于图3,本实施例提出第三种微服务管理装置。在该装置中,各模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址、一条目标部署路径和模块启停脚本;此时,发送单元103,被配置为执行:将目标部署包与模块启停脚本发送至与部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;
需要说明的是,本发明可以预先设置远程管理模块,在将目标部署包和模块启动脚本发送至目标部署服务器之后,可以利用预先设置的远程管理模块来远程管理目标微服务模块,实现一对多的管理。
此时,上述装置还可以包括:控制单元;
控制单元,被配置为执行:在目标部署服务器中,通过模块启停脚本控制已部署好的目标微服务模块进行启动或停止运行。
具体的,本发明可以通过远程管理模块,调用模块启动脚本来控制已部署好的目标微服务模块进行启动、重启或停止运行。
具体的,本发明可以在控制目标微服务模块进行启动、重启或停止运行的过程中,监测目标微服务模块的运行状态,确定目标微服务模块是否部署成功。
可选的,第三种微服务管理装置中还可以包括:检查单元;
检查单元,被配置为执行:在目标部署服务器的进程管理列表中,检查是否对应存在有目标微服务模块的微服务模块名和进程标识,以确定目标微服务模块是否启动成功。
具体的,本发明在指令目标部署服务器部署目标微服务模块之后,可以通过在目标部署服务器的进程管理列表中,查找是否对应存在目标微服务模块的微服务模块名和进程标识,来确定目标微服务模块是否成功启动,从而确定目标微服务模块是否成功部署。
可选的,第三种微服务管理装置中还可以包括:采集单元和监控单元;
采集单元,被配置为执行:分别从各目标部署服务器中采集微服务模块运行日志;
监控单元,被配置为执行:通过微服务模块运行日志,监控相应目标微服务模块的运行状态是否正常。
其中,目标微服务模块运行日志可以为记录有目标微服务模块运行过程的日志。
具体的,本发明可以在目标部署服务器上的目标微服务模块部署好后,从目标部署服务器中采集微服务模块运行日志,利用日志关键字正则匹配得到目标微服务模块运行过程中的关键节点信息,根据关键节点信息确定目标微服务模块的运行状态,从而确定目标微服务模块是否可以正常运行,实现对目标微服务模块的运行监测。而在确定目标微服务模块的运行过程出现异常时,本发明即可以输出告警,以提醒工作人员进行相关检查和维修工作。
本实施例提出的微服务管理装置,可以预先设置远程管理模块,在将目标部署包和模块启动脚本发送至目标部署服务器之后,可以利用预先设置的远程管理模块来远程管理目标微服务模块,实现一对多的管理。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种微服务管理方法,其特征在于,应用于部署管理节点,所述方法包括:
对预先设置的配置文件进行解析,从所述配置文件中确定至少一条模块部署信息,所述配置文件中预先保存有各所述模块部署信息,各所述模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址和一条目标部署路径;
将一条所述模块部署信息确定为当前的目标模块部署信息;
将目标部署包发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;其中,所述目标部署包为所述目标模块部署信息中的微服务模块名所对应的目标微服务模块的部署包,各所述目标部署服务器为所述目标模块部署信息中的各目标部署IP地址分别对应的服务器,所述目标部署目录为所述目标模块部署信息中的目标部署路径所对应的目录;
分别指令各所述目标部署服务器在所述目标部署目录下,基于所述目标部署包部署所述目标微服务模块;
返回执行所述将一条所述模块部署信息确定为当前的目标模块部署信息的步骤,直至完成各所述模块部署信息相关的微服务模块部署处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于安全外壳SSH协议,与所述目标部署服务器进行免密连接。
3.根据权利要求1所述的方法,其特征在于,各所述模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址、一条目标部署路径和个性化配置信息;
所述将目标部署包发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下,包括:
将所述目标部署包与所述个性化配置信息发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;
所述分别指令各所述目标部署服务器在所述目标部署目录下,基于所述目标部署包部署所述目标微服务模块,包括:
分别指令各所述目标部署服务器在所述目标部署目录下,基于所述目标部署包和所述个性化配置信息部署所述目标微服务模块。
4.根据权利要求1所述的方法,其特征在于,各所述模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址、一条目标部署路径和模块启停脚本;
所述将目标部署包发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下,包括:
将所述目标部署包与所述模块启停脚本发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;
所述方法还包括:
在目标部署服务器中,通过所述模块启停脚本控制已部署好的所述目标微服务模块进行启动或停止运行。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述目标部署服务器的进程管理列表中,检查是否对应存在有所述目标微服务模块的微服务模块名和进程标识,以确定所述目标微服务模块是否启动成功。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
分别从各所述目标部署服务器中采集微服务模块运行日志;
通过所述微服务模块运行日志,监控相应目标微服务模块的运行状态是否正常。
7.一种微服务管理装置,其特征在于,应用于部署管理节点,所述装置包括:第一确定单元、第二确定单元、发送单元、指令单元和触发单元,其中:
所述第一确定单元,被配置为执行:对预先设置的配置文件进行解析,从所述配置文件中确定至少一条模块部署信息,所述配置文件中预先保存有各所述模块部署信息,各所述模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址和一条目标部署路径;
所述第二确定单元,被配置为执行:将一条所述模块部署信息确定为当前的目标模块部署信息;
所述发送单元,被配置为执行:将目标部署包发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;其中,所述目标部署包为所述目标模块部署信息中的微服务模块名所对应的目标微服务模块的部署包,各所述目标部署服务器为所述目标模块部署信息中的各目标部署IP地址分别对应的服务器,所述目标部署目录为所述目标模块部署信息中的目标部署路径所对应的目录;
所述指令单元,被配置为执行:分别指令各所述目标部署服务器在所述目标部署目录下,基于所述目标部署包部署所述目标微服务模块;
所述触发单元,被配置为执行:触发所述第二确定单元,直至完成各所述模块部署信息相关的微服务模块部署处理。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:免密连接单元;
所述免密连接单元,被配置为执行:基于安全外壳SSH协议,与所述目标部署服务器进行免密连接。
9.根据权利要求7所述的装置,其特征在于,各所述模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址、一条目标部署路径和个性化配置信息;
所述发送单元,被配置为执行:将所述目标部署包与所述个性化配置信息发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;
所述指令单元,被配置为执行:分别指令各所述目标部署服务器在所述目标部署目录下,基于所述目标部署包和所述个性化配置信息部署所述目标微服务模块。
10.根据权利要求7所述的装置,其特征在于,各所述模块部署信息中均对应保存有一个微服务模块名、至少一个目标部署IP地址、一条目标部署路径和模块启停脚本;
所述发送单元,被配置为执行:将所述目标部署包与所述模块启停脚本发送至与所述部署管理节点已连接好的至少一个目标部署服务器的目标部署目录下;
所述装置还包括:控制单元;
所述控制单元,被配置为执行:在目标部署服务器中,通过所述模块启停脚本控制已部署好的所述目标微服务模块进行启动或停止运行。
CN202111098827.7A 2021-09-18 2021-09-18 一种微服务管理方法及装置 Pending CN113741919A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111098827.7A CN113741919A (zh) 2021-09-18 2021-09-18 一种微服务管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111098827.7A CN113741919A (zh) 2021-09-18 2021-09-18 一种微服务管理方法及装置

Publications (1)

Publication Number Publication Date
CN113741919A true CN113741919A (zh) 2021-12-03

Family

ID=78739952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111098827.7A Pending CN113741919A (zh) 2021-09-18 2021-09-18 一种微服务管理方法及装置

Country Status (1)

Country Link
CN (1) CN113741919A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181439A (zh) * 2020-09-24 2021-01-05 中国建设银行股份有限公司 一种微服务部署方法、装置、电子设备及可读存储介质
WO2021139261A1 (zh) * 2020-07-27 2021-07-15 平安科技(深圳)有限公司 应用部署方法、装置及介质
CN113190327A (zh) * 2021-04-30 2021-07-30 平安证券股份有限公司 微服务部署方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021139261A1 (zh) * 2020-07-27 2021-07-15 平安科技(深圳)有限公司 应用部署方法、装置及介质
CN112181439A (zh) * 2020-09-24 2021-01-05 中国建设银行股份有限公司 一种微服务部署方法、装置、电子设备及可读存储介质
CN113190327A (zh) * 2021-04-30 2021-07-30 平安证券股份有限公司 微服务部署方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN108399132B (zh) 一种调度测试方法、装置及存储介质
CN110471831B (zh) 一种兼容测试的自动化方法及装置
CN109361562B (zh) 一种基于关联网络设备接入的自动化测试方法
KR101008977B1 (ko) OSGi 서비스 플랫폼 테스트 방법 및 이를 이용한테스트 툴
CN110096424B (zh) 测试的处理方法、装置、电子设备及存储介质
CN105205003A (zh) 一种基于集群化系统的自动化测试方法和装置
CN103336688A (zh) 面向云计算软件研发过程中的软件集成方法及系统
CN102375764A (zh) 在软件部署中进行故障管理的方法和系统
CN102437938A (zh) 面向大规模网络监测的虚拟化部署系统和方法
CN111966465B (zh) 一种实时修改宿主机配置参数的方法、系统、设备及介质
CN110865840B (zh) 一种应用管理方法、装置、服务器及存储介质
CN112860282A (zh) 集群插件的升级方法、装置和服务器
CN111651352B (zh) 一种仓库代码的合并方法及装置
CN111026581A (zh) 应用程序的修复方法及装置、系统、存储介质、电子装置
CN113900670B (zh) 集群服务器应用部署系统
CN110569140A (zh) 一种运维方法及装置
CN111722853B (zh) 一种安装脚本部署的方法和设备
CN111338926A (zh) 补丁的测试方法、装置及电子设备
CN112579398A (zh) 监控部署方法及装置
CN107657053A (zh) 一种爬虫实现方法及装置
CN113741919A (zh) 一种微服务管理方法及装置
CN112328267A (zh) 一种多台服务器安装方法、装置、终端及存储介质
JP2006113754A (ja) ソフトウェア更新装置及び方法
CN115865924A (zh) 一种集群部署方法、装置、设备、介质及产品
US20090083747A1 (en) Method for managing application programs by utilizing redundancy and load balance

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