基于容器的微服务集群实现的方法及装置制造方法及图纸

技术编号:39055845 阅读:13 留言:0更新日期:2023-10-12 19:49
本申请提供一种基于容器的微服务集群实现的方法及装置,其中该方法,包括:处理节点基于预设个数的服务器,构建承载微服务的容器集群,并确定容器集群中的主节点;所述容器集群中的主节点基于调度规则和所有应用对应的服务实例列表,容器集群中的主节点确定容器集群中特定工作节点与特定应用对应的服务实例之间的调度关系,每个服务实例对应一个容器;本申请提供的方法通过构建容器集群,动态确定主节点,并实现工作节点和应用之间调度的自动控制,具有轻量级、扩展性强、设施简单、平台的资源占用量少、开发运维更加敏捷等优点。开发运维更加敏捷等优点。开发运维更加敏捷等优点。

【技术实现步骤摘要】
基于容器的微服务集群实现的方法及装置


[0001]本申请涉及互联网通信
,尤其涉及一种基于容器的微服务集群实现的方法及装置。

技术介绍

[0002]微服务平台在容器技术诞生之前以Java领域开源的Spring Cloud、Dubbo以及商业产品IceGrid等框架为主,这些微服务平台都存在普遍的“基因缺陷”,比如代码的侵入性问题、多语言支持的问题、配套运维工具和功能的缺失、缺乏自动化运维能力等。在Docker容器技术诞生之后,Kubernetes则凭借先进的容器技术和强大的功能特性在本领域中被广泛采用。目前在容器领域的微服务架构创新基本上都是围绕绝大部分都是围绕着Kubernetes、Spring Cloud等的组合或者集成用法而提出的。
[0003]而现有技术中绝大部分都是围绕着Kubernetes、Spring Cloud的组合或者集成其他一系列开源软件而创作出的微服务平台系统。业界普遍认可的基于容器技术的微服务框架,目前只有Kubernetes平台,但是鉴于Kubernetes本身过于复杂和庞大,也是面向公有云和大规模系统而设计的产物,同时其使用也受限制,而Spring Cloud这种传统的微服务框架已经不能满足当前的易操作,轻量级,占用资源少,自动化运维等需求。因此,上述问题已成为业界亟待解决的技术问题。

技术实现思路

[0004]针对现有技术存在的问题,本申请提供一种基于容器的微服务集群实现的方法及装置。
[0005]第一方面,本申请提供一种基于容器的微服务集群实现的方法,包括:
[0006]处理节点基于预设个数的服务器,构建承载微服务的容器集群,并确定所述容器集群中的主节点;
[0007]所述容器集群中的主节点基于调度规则和所有应用对应的微服务实例列表,确定调度至所述容器集群中目标工作节点的微服务实例;
[0008]其中,所述容器集群包括一个主节点和多个工作节点,所述主节点用于管控所述容器集群中的所有工作节点;每个所述微服务实例对应一个容器。
[0009]可选地,所述处理节点基于预设个数的服务器,构建承载微服务的容器集群,并确定所述容器集群中的主节点,包括:
[0010]基于P2P协议,以及获取的预设个数的服务器中每个所述服务器的配置信息,构建承载微服务的容器集群;
[0011]基于所述容器集群中每个服务器的编号以及每个服务器的状态值,动态确定所述容器集群中满足预设筛选主节点条件的服务器作为主节点;
[0012]所述预设筛选主节点条件为所述服务器的编号最小或最大,且所述服务器的状态值为存活态;
[0013]所述配置信息包括:与当前服务器相邻的服务器的编号。
[0014]可选地,所述容器集群中的主节点基于调度规则和应用对应的微服务实例列表,确定调度至所述容器集群中目标工作节点微服务实例,包括:
[0015]所述容器集群中的主节点基于用户对应用的请求消息,以及所述应用对应的描述文件,生成所述应用对应的微服务实例列表;
[0016]所述容器集群中的主节点基于调度规则,从所述应用对应的微服务实例列表筛选出需要调度至所述目标工作节点的微服务实例;
[0017]所述容器集群中的工作节点通过其上部署的微服务控制器,创建每个微服务实例对应的容器,并发送反馈信息给所述容器集群中的主节点。
[0018]可选地,所述用户对应用的请求消息包括应用的发布、应用的更新或应用的卸载消息;所述描述文件包括所述应用对应的微服务实例列表。
[0019]可选地,所述容器集群中的工作节点通过其上部署的微服务控制器,创建每个微服务实例对应的容器,并发送反馈信息给所述容器集群中的主节点,包括:
[0020]通过所述目标工作节点上部署的微服务控制器上的容器运行时接口,启动所述微服务实例对应的容器,并发送反馈信息给所述容器集群中的主节点。
[0021]其中,所述容器运行时接口以插件方式对接符合OCI容器标准的第三方开源容器引擎。
[0022]可选地,所述方法还包括:
[0023]若所述容器集群中的主节点接收到的所述反馈信息表示所述容器启动失败,则所述容器集群中的主节点重新调度所述微服务实例至其他处于存活态的工作节点。
[0024]可选地,所述方法还包括:
[0025]所述容器集群中的主节点实时采集所述目标工作节点的状态和资源信息;
[0026]若所述目标工作节点的状态表示所述目标工作节点故障,和/或所述资源信息表示调度至所述目标工作节点调度的微服务实例存在故障,则所述容器集群中的主节点重新调度所述微服务实例至其他处于存活态的工作节点。
[0027]可选地,所述方法还包括:
[0028]处理节点以容器化方式部署域名系统服务器DNS server在所述容器集群的主节点上;
[0029]通过所述DNS server,对所述应用对应的微服务进行注册、更新或隔离。
[0030]可选地,所述方法还包括:
[0031]处理节点以容器化方式部署应用网页网关App Web Gateway在所述容器集群的任一工作节点上;
[0032]通过所述App Web Gateway,提供对外访问所述应用的端口,并支持动态启停访问所述应用的一个或多个端口。
[0033]可选地,所述容器集群中每个节点均部署了微服务控制器和应用控制器,且在主节点中所述应用控制器处于启用状态。
[0034]可选地,所述应用之间采用HTTP通信协议。
[0035]第二方面,本申请还提供一种基于容器的微服务集群实现的装置,包括:
[0036]容器集群模块,用于基于预设个数的服务器,构建承载微服务的容器集群,并确定
所述容器集群中的主节点;
[0037]调度模块,用于基于调度规则和应用对应的微服务实例列表,确定调度至所述容器集群中目标工作节点的微服务实例列表;
[0038]其中,所述容器集群包括一个主节点和多个工作节点,所述主节点管控所述容器集群中的所有工作节点;每个所述微服务实例对应一个容器。
[0039]第三方面,本申请还提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述计算机程序时实现第一方面所述的基于容器的微服务集群实现的方法。
[0040]第四方面,本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述第一方面所述的基于容器的微服务集群实现的方法。
[0041]本申请提供的基于容器的微服务集群实现的方法及装置,通过构建容器集群,并动态确定其中主节点,由该主节点确定每个应用和工作节点之间的调度关系,并根据工作节点状态确定是否需要更新应用和工作节点之间的调度关系,实现自动控制。具有多语言支持、轻量级、扩展性强、设施简单、平台的资源占用量少、开发运维更加敏捷等优点,有助于加速云原生架构的普及和落地。
附图说明
[0042]为了更清楚地说明本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于容器的微服务集群实现的方法,其特征在于,包括:处理节点基于预设个数的服务器,构建承载微服务的容器集群,并确定所述容器集群中的主节点;所述容器集群中的主节点基于调度规则和所有应用对应的微服务实例列表,确定调度至所述容器集群中目标工作节点的微服务实例;其中,所述容器集群包括一个主节点和多个工作节点,所述主节点用于管控所述容器集群中的所有工作节点;每个所述微服务实例对应一个容器。2.根据权利要求1所述基于容器的微服务集群实现的方法,其特征在于,所述处理节点基于预设个数的服务器,构建承载微服务的容器集群,并确定所述容器集群中的主节点,包括:基于P2P协议,以及获取的预设个数的服务器中每个所述服务器的配置信息,构建承载微服务的容器集群;基于所述容器集群中每个服务器的编号以及每个服务器的状态值,动态确定所述容器集群中满足预设筛选主节点条件的服务器作为主节点;所述预设筛选主节点条件为所述服务器的编号最小或最大,且所述服务器的状态值为存活态;所述配置信息包括:与当前服务器相邻的服务器的编号。3.根据权利要求1所述基于容器的微服务集群实现的方法,其特征在于,所述容器集群中的主节点基于调度规则和应用对应的微服务实例列表,确定调度至所述容器集群中目标工作节点微服务实例,包括:所述容器集群中的主节点基于用户对应用的请求消息,以及所述应用对应的描述文件,生成所述应用对应的微服务实例列表;所述容器集群中的主节点基于调度规则,从所述应用对应的微服务实例列表筛选出需要调度至所述目标工作节点的微服务实例。4.根据权利要求3所述基于容器的微服务集群实现的方法,其特征在于,所述用户对应用的请求消息包括应用的发布、应用的更新或应用的卸载消息;所述描述文件包括所述应用对应的微服务实例列表。5.根据权利要求3所述基于容器的微服务集群实现的方法,其特征在于,所述容器集群中的主节点基于调度规则,从所述应用对应的微服务实例列表筛选出需要调度至所述目标工作节点的微服务实例之后,还包括:所述目标工作节点通过其上部署的微服务控制器上的容器运行时接口,启动所述微服务实例对应的容器,并发送反馈信息给所述容器集群中的主节点;其中,所述容器运行时接口以插件方式对接符合OCI容器标准的第三方开源容器引擎。6.根据权利要求5所述基于容器的微服务集群实现的方法,其特征在于,所述方法还包括:若所述容器集群中的主节点接收到...

【专利技术属性】
技术研发人员:魏宝辉任林张辉胡建村韩周林炳周颖薛鸿鹄
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1