一种微服务发布方法、装置、设备及存储介质制造方法及图纸

技术编号:32363894 阅读:14 留言:0更新日期:2022-02-20 03:35
本申请公开了一种微服务发布方法、装置、设备及存储介质,包括:按照预设周期从消息队列中获取与待发布微服务的目标发布包相关的消息数据,并从存储服务器上获取与消息数据对应的目标发布包;获取部署指令,并根据部署指令从目标服务器集群中确定出目标服务器,以将目标发布包在目标服务器上进行发布。本申请基于消息队列、存储服务器和服务器集群的交互架构,通过消息队列中的消息数据在存储服务器与服务器集群之间周期性地对发布包自动化操作,避免了在不同服务器管理发布包时由于代码不兼容问题导致的无法对微服务发布流程进行自动化处理,从而能够高效地在不同服务器集群上对微服务进行统一发布和部署。对微服务进行统一发布和部署。对微服务进行统一发布和部署。

【技术实现步骤摘要】
一种微服务发布方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,特别涉及一种微服务发布方法、装置、设备及存储介质。

技术介绍

[0002]微服务是一种开发软件的架构和组织方法,其中软件由通过明确定义的API进行通信的小型独立服务组成。微服务架构使应用程序更易于扩展和更快地开发,从而加速创新并缩短新功能的上市时间。独立软件开发商(ISV,Independent Software Vendors)在微服务开发完成之后,需要将其发布并部署到相应的环境中运行,为了节省成本、提高工作效率和服务器资源利用率,通常会采用特定部署工具及软件代码管理工具进行处理。然而,在将微服务发布至其他主体的服务器上时,由于管理代码工具与该主体内部的代码管理工具不一致,导致难以采用该主体内部的持续集成(CI,Continuous Integration)和持续交付(CD,Continuous delivery)流程,使得微服务的发布效率较低。
[0003]因此,如何在不同服务器上高效发布部署微服务是本领域技术人员亟待解决的技术问题。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种微服务发布方法、装置、设备及存储介质,能够提高微服务发布效率。其具体方案如下:
[0005]本申请的第一方面提供了一种微服务发布方法,包括:
[0006]按照预设周期从消息队列中获取与待发布微服务的目标发布包相关的消息数据,并从存储服务器上获取与消息数据对应的目标发布包;
[0007]获取部署指令,并根据部署指令从目标服务器集群中确定出目标服务器,以将目标发布包在目标服务器上进行发布。
[0008]可选的,按照预设周期从消息队列中获取与待发布微服务的目标发布包相关的消息数据之前,还包括:
[0009]在预先创建的应用发布页面对目标发布包的发布信息进行设置,并通过应用发布页面的预设接口将目标发布包上传至存储服务器进行存储;
[0010]生成与目标发布包对应的目标校验码,并将目标校验码及发布信息封装为消息数据发送至消息队列。
[0011]可选的,生成与目标发布包对应的目标校验码,包括:
[0012]利用加密算法对目标发布包进行加密处理,以得到目标校验码。
[0013]可选的,从存储服务器上获取与消息数据对应的目标发布包,包括:
[0014]对消息数据进行解析以得到目标校验码,并利用加密算法对存储服务器上的发布包进行加密处理,以从存储服务器的全部发布包中确定出校验码与目标检验码一致的目标发布包。
[0015]可选的,从存储服务器上获取与消息数据对应的目标发布包之后,还包括:
[0016]利用应用容器引擎生成目标发布包的目标镜像,并将目标镜像存储至服务器集群的本地镜像仓库;
[0017]相应的,根据部署指令从目标服务器集群中确定出目标服务器,以将目标发布包在目标服务器上进行发布,包括:
[0018]根据部署指令从服务器集群中确定出目标服务器;
[0019]从本地镜像仓库调用与目标发布包对应的目标镜像,并将目标镜像在目标服务器上进行发布。
[0020]可选的,当服务器集群为kubernetes服务器集群,还包括:
[0021]根据部署需求通过创建deployment和/或service的yaml配置文件方式生成反映与待发布微服务对应的发布服务器信息的部署指令;
[0022]相应的,根据部署指令从服务器集群中确定出目标服务器,包括:
[0023]根据部署指令中创建的deployment和/或service的yaml配置文件从kubernetes服务器集群中确定出目标服务器。
[0024]可选的,微服务发布方法,还包括:
[0025]在目标服务器集群中分别部署消息代理应用和微服务发布应用,以利用消息代理应用从消息队列中获取消息数据并利用微服务发布应用将目标发布包在目标服务器上进行发布。
[0026]本申请的第二方面提供了一种微服务发布装置,包括:
[0027]发布包获取模块,用于按照预设周期从消息队列中获取与待发布微服务的目标发布包相关的消息数据,并从存储服务器上获取与消息数据对应的目标发布包;
[0028]微服务发布模块,用于获取部署指令,并根据部署指令从目标服务器集群中确定出目标服务器,以将目标发布包在目标服务器上进行发布。
[0029]本申请的第三方面提供了一种电子设备,电子设备包括处理器和存储器;其中存储器用于存储计算机程序,计算机程序由处理器加载并执行以实现前述微服务发布方法。
[0030]本申请的第四方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机可执行指令,计算机可执行指令被处理器加载并执行时,实现前述微服务发布方法。
[0031]本申请中,首先按照预设周期从消息队列中获取与待发布微服务的目标发布包相关的消息数据,并从存储服务器上获取与消息数据对应的目标发布包;然后获取部署指令,并根据部署指令从目标服务器集群中确定出目标服务器,以将目标发布包在目标服务器上进行发布。可见,本申请基于消息队列、存储服务器和服务器集群的交互架构,利用存储服务器对微服务的发布包进行统一存储,通过消息队列中的消息数据在存储服务器与服务器集群之间周期性地对发布包自动化操作,避免了在不同服务器管理发布包时由于代码不兼容问题导致的无法对微服务发布流程进行自动化处理,从而能够在不同服务器集群上对微服务进行统一发布部署,以提高微服务发布效率。
附图说明
[0032]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0033]图1为本申请提供的一种微服务发布方法流程图;
[0034]图2为本申请提供的一种具体的消息代理时序图;
[0035]图3为本申请提供的一种具体的微服务发布架构图;
[0036]图4为本申请提供的一种具体的基于镜像仓库的发布包发布时序图;
[0037]图5为本申请提供的一种具体的微服务发布方法流程图;
[0038]图6为本申请提供的一种具体的应用发布界面示意图;
[0039]图7为本申请提供的一种具体的发布包上传时序图;
[0040]图8为本申请提供的一种微服务发布装置结构示意图;
[0041]图9为本申请提供的一种微服务发布电子设备结构图。
具体实施方式
[0042]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务发布方法,其特征在于,包括:按照预设周期从消息队列中获取与待发布微服务的目标发布包相关的消息数据,并从存储服务器上获取与所述消息数据对应的所述目标发布包;获取部署指令,并根据所述部署指令从目标服务器集群中确定出目标服务器,以将所述目标发布包在所述目标服务器上进行发布。2.根据权利要求1所述的微服务发布方法,其特征在于,所述按照预设周期从消息队列中获取与待发布微服务的目标发布包相关的消息数据之前,还包括:在预先创建的应用发布页面对所述目标发布包的发布信息进行设置,并通过所述应用发布页面的预设接口将所述目标发布包上传至存储服务器进行存储;生成与所述目标发布包对应的目标校验码,并将所述目标校验码及所述发布信息封装为所述消息数据发送至所述消息队列。3.根据权利要求2所述的微服务发布方法,其特征在于,所述生成与所述目标发布包对应的目标校验码,包括:利用加密算法对所述目标发布包进行加密处理,以得到目标校验码。4.根据权利要求3所述的微服务发布方法,其特征在于,所述从存储服务器上获取与所述消息数据对应的所述目标发布包,包括:对所述消息数据进行解析以得到所述目标校验码,并利用所述加密算法对所述存储服务器上的发布包进行加密处理,以从所述存储服务器的全部发布包中确定出校验码与所述目标检验码一致的所述目标发布包。5.根据权利要求1所述的微服务发布方法,其特征在于,所述从存储服务器上获取与所述消息数据对应的所述目标发布包之后,还包括:利用应用容器引擎生成所述目标发布包的目标镜像,并将所述目标镜像存储至服务器集群的本地镜像仓库;相应的,所述根据所述部署指令从目标服务器集群中确定出目标服务器,以将所述目标发布包在所述目标服务器上进行发布,包括:根据所述部署指令从所述服务器集群中确定出所述目标服务器...

【专利技术属性】
技术研发人员:刘迪李农成何江兵陈晓涛王晨杨斌杨翊菲盛岚
申请(专利权)人:金蝶蝶金云计算有限公司
类型:发明
国别省市:

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

1