一种基于虚拟机环境的微服务可视化部署方法和系统技术方案

技术编号:37968593 阅读:11 留言:0更新日期:2023-06-30 09:43
本发明专利技术公开了一种基于虚拟机环境的微服务可视化部署方法和系统,包括以下步骤:A:定义shell脚本;B:制作微服务部署包;C:将步骤B中得到的微服务部署包,通过可视化的web控制台上传到registry制品仓库进行管理和解析;D:通过可视化web控制台提交数据至server端;E:server异步拆分微服务部署任务,生成对应到各服务器节点的具体部署任务并推送至对应服务器上的agent程序;F:agent程序执行具体部署任务,并将微服务运行时的状态变动进行展示;G:微服务启动后,对微服务健康状态的实时监控。本发明专利技术能够规范虚拟机环境下的微服务程序包管理,简化微服务部署流程,提高微服务程序管理效率。理效率。理效率。

【技术实现步骤摘要】
一种基于虚拟机环境的微服务可视化部署方法和系统


[0001]本专利技术涉及虚拟机环境下的微服务部署领域,尤其涉及一种基于虚拟机环境的微服务可视化部署方法和系统。

技术介绍

[0002]随着电力业务的持续开展, 各专业系统功能和架构日益复杂,系统体量逐步庞大。为了解决大型单体程序迭代慢, 无法快速响应业务需求的问题,电力行业逐步引入微服务化的架构理念,随之而来的是微服务部署工作将面临以下新的挑战:1、微服务数量多, 采用传统命令行方式管理微服务集群工作量大且重复性强, 人工操作效率低, 系统大版本升级耗时过长。
[0003]2、服务器节点多, 传统命令行方式管理效率低, 不支持多个节点的微服务程序同时升级,难以保证多节点微服务程序包版本的一致性。
[0004]3、微服务运行状态以及部署信息跨多个服务器,监控难度大。
[0005]为解决以上部署难题,提高电力行业虚拟机环境下的微服务部署效率,亟需专利技术一种微服务管理办法,进而提供一套高效、可靠的微服务部署系统,实现微服务的可视化管理。

技术实现思路

[0006]本专利技术的目的是提供一种基于虚拟机环境的微服务可视化部署方法和系统,能够规范虚拟机环境下的微服务程序包管理, 简化微服务部署流程,提高微服务程序管理效率。
[0007]本专利技术采用下述技术方案:一种基于虚拟机环境的微服务可视化部署方法,包括以下步骤:A:定义微服务在Linux系统下的shell脚本;B:定义maven项目对象模型打包插件,通过代码编译形成微服务程序,然后将微服务程序、步骤A中得到的shell脚本和描述信息文件统一进行打包压缩,制作成微服务部署包;C:将步骤B中得到的微服务部署包,通过可视化的web控制台上传到registry制品仓库进行管理;并对微服务部署包进行解析,通过解析微服务部署包中描述信息文件写入数据库;同时,通过可视化的界面将已经上传的微服务部署包的信息进行展示;D:用户通过可视化web控制台,选择需要部署的微服务的名称、版本和部署的服务器节点,并通过可视化web控制台输入端口号值参数、环境变量参数、启动参数和健康检查策略信息,然后将输入的数据提交至server端后台程序进行处理;E:server异步拆分微服务部署任务,生成对应到各服务器节点的具体部署任务, 并通过websocket消息推送至对应服务器上的agent程序;F:agent程序执行server下发的具体部署任务,并在微服务启动后,将微服务运行
时的状态变动实时回传给server端进行展示;G:微服务启动后,agent程序根据步骤D中定义的健康检查策略信息,设置定时检查机制对微服务健康状态进行定时检查,并将健康状态检查的结果通过websocket消息推送给server端,实现对微服务健康状态的实时监控。
[0008]所述的步骤A中,shell脚本中包括启动命令、端口号名称定义、环境变量定义和启动参数定义。
[0009]所述的步骤B中,描述信息文件中包含微服务的名称、微服务的版本和微服务的打包时间。
[0010]所述的步骤C中,在对微服务部署包进行解析时,通过解析微服务部署包中描述信息文件获取到微服务的名称、微服务的版本和微服务的打包时间,并将数据写入到数据库。
[0011]所述的步骤C中,通过可视化的界面提供基于微服务的名称、微服务的版本和打包时间的搜索功能。
[0012]所述的步骤D中,微服务的名称及版本在步骤C中用户上传部署包之后,通过registry制品仓库提供的管理功能调用获取。
[0013]所述的步骤D中,健康检查策略信息用于对微服务的健康状态进行判断;为用户自定义的用于判断微服务是否健康的条件,通过端口检查策略、接口检查策略和进程检查策略方式实现。
[0014]所述的步骤E中,server对用户提交的微服务的名称、版本、端口号值参数、环境变量参数、启动参数和健康检查策略信息,以及所选择的部署的服务器节点进行有效性校验,并将数据按照服务器节点分别组装为具体部署任务并通过websocket消息推送至对应服务器上的agent程序。
[0015]所述的步骤F中,agent程序根据server下发的具体部署任务的信息,将微服务部署包从registry制品仓库中拉取到本地进行解压,并在解压之后校验部署包信息;校验通过后,将部署包信息中的端口号值参数、环境变量参数、启动参数和健康检查策略信息进行组装并转递给shell脚本,执行shell脚本以启动或停止微服务。
[0016]基于虚拟机环境的微服务可视化部署系统,其特征在于:包括可视化web控制台、server、registry制品仓库和agent程序,可视化web控制台、server、registry制品仓库和agent程序按照权利要求1至9中任意一项所述的基于虚拟机环境的微服务可视化部署方法进行信息交互;其中,可视化web控制台,用于实现微服务部署信息的选择和任务提交,并提供查询服务;server,用于实现微服务部署任务调度和接受各节点agent数据上报;registry制品仓库,用于实现微服务部署包文件的存储和下载功能,以及对微服务的版本的管理;agent程序,用于实现对应任务的执行和定时数据上报。
[0017]本专利技术中通过registry制品仓库实现微服务部署包文件及部署包信息的存储,能够规范微服务部署包的统一管理,保证多服务器间微服务版本的一致性。通过可视化web控制台及定义的shell脚本,能够支持快速部署微服务项目,减少人工操作工作量,提高微服务部署效率。通过定义健康检查策略,能够有效监控微服务部署情况和运行信息,提高微服务运维工作效率。
附图说明
[0018]图1为本专利技术的流程示意图。
具体实施方式
[0019]以下结合附图和实施例对本专利技术作以详细的描述:如图1所示,本专利技术所述的基于虚拟机环境的微服务可视化部署方法,包括以下步骤:A:定义微服务在Linux系统下的shell脚本;shell脚本中包括启动命令、端口号名称定义、环境变量定义和启动参数定义;步骤A中,Shell脚本用于获取用户输入的指令及参数,实现微服务的启动或停止。shell脚本中的端口号名称定义,用于接收步骤D中用户输入的端口号值参数;环境变量定义,用于接收步骤D中用户输入的环境变量参数;启动参数定义,用于接收步骤D中用户输入的启动参数。
[0020]B:定义maven项目对象模型打包插件,通过代码编译形成微服务程序,然后将微服务程序、步骤A中得到的shell脚本和描述信息文件统一进行打包压缩,制作成微服务部署包;maven是一款服务于java平台的自动化构建工具,maven项目对象模型打包插件允许用户将项目输出与它的依赖项、模块、站点文档和其他文件一起组装成一个可分发的归档文件。本专利技术在利用maven项目对象模型打包插件进行打包时,引入Assembly 插件的描述符文件,对Assembly插件的描述符文件信息进行配置,其中包含打包格式、打包目录、文件名称等信息。描述信息本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于虚拟机环境的微服务可视化部署方法,其特征在于,包括以下步骤:A:定义微服务在Linux系统下的shell脚本;B:定义maven项目对象模型打包插件,通过代码编译形成微服务程序,然后将微服务程序、步骤A中得到的shell脚本和描述信息文件统一进行打包压缩,制作成微服务部署包;C:将步骤B中得到的微服务部署包,通过可视化的web控制台上传到registry制品仓库进行管理;并对微服务部署包进行解析,通过解析微服务部署包中描述信息文件写入数据库;同时,通过可视化的界面将已经上传的微服务部署包的信息进行展示;D:用户通过可视化web控制台,选择需要部署的微服务的名称、版本和部署的服务器节点,并通过可视化web控制台输入端口号值参数、环境变量参数、启动参数和健康检查策略信息,然后将输入的数据提交至server端后台程序进行处理;E:server异步拆分微服务部署任务,生成对应到各服务器节点的具体部署任务, 并通过websocket消息推送至对应服务器上的agent程序;F:agent程序执行server下发的具体部署任务,并在微服务启动后,将微服务运行时的状态变动实时回传给server端进行展示;G:微服务启动后,agent程序根据步骤D中定义的健康检查策略信息,设置定时检查机制对微服务健康状态进行定时检查,并将健康状态检查的结果通过websocket消息推送给server端,实现对微服务健康状态的实时监控。2.根据权利要求1所述的基于虚拟机环境的微服务可视化部署方法,其特征在于:所述的步骤A中,shell脚本中包括启动命令、端口号名称定义、环境变量定义和启动参数定义。3.根据权利要求1所述的基于虚拟机环境的微服务可视化部署方法,其特征在于:所述的步骤B中,描述信息文件中包含微服务的名称、微服务的版本和微服务的打包时间。4.根据权利要求1所述的基于虚拟机环境的微服务可视化部署方法,其特征在于:所述的步骤C中,在对微服务部署包进行解析时,通过解析微服务部署包中描述信息文件获取到微服务的名称、微服务的版本和微服务的打包时间,并将数据写入到数据库。5.根据权利要求1所述的基于虚拟机环境的微服务可视化部署方法,其特征在于:所述的步骤C中,通过可视化...

【专利技术属性】
技术研发人员:袁中凯王镇强甘志芳尹钦牛静静陈芳杨潭井友鼎杜创胜温强
申请(专利权)人:河南合众伟奇云智科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1