System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种应用于Docker的高容错并可容错调度方法、设备及介质技术_技高网

一种应用于Docker的高容错并可容错调度方法、设备及介质技术

技术编号:43200493 阅读:6 留言:0更新日期:2024-11-01 20:19
本发明专利技术公开了一种应用于Docker的高容错并可容错调度方法、设备及介质,所述方法包括步骤:采用AI学习训练Dockerfile自动构建模型,并通过Dockerfile自动构建模型获得微服务容器镜像;注册服务实例;创建Kubernetes调度器,并调用Scheduling Framework调度框架对服务实例进行资源调度、负载均衡和/或故障转移。本发明专利技术通过AI学习训练Dockerfile自动构建模型能够提升微服务结构的构建奖励,降低用户的使用难度;通过自动化的服务发现、负载均衡和故障转移提升中小规模集群的容错能力,提高开发效率,降低人力成本和资源消耗,提高可用性和易用性。

【技术实现步骤摘要】

本专利技术属于计算机,具体涉及一种应用于docker的高容错并可容错调度方法、设备及介质。


技术介绍

1、传统的java后端开发、安卓开发等微服务开发通常会引入docker技术,docker技术允许开发人员将应用以及应用的依赖包一起打包到一个容器中,然后发布到任何流行的linux机器上,docker技术具有隔离性和跨平台移植等优势,但其网络隔离机制和进程隔离机制也带来了服务发现、负载均衡、故障恢复等方面的问题。目前,业界已经有一些传统的docker中间件解决方案,如kubernetes、mesos等,它们通过服务发现和负载均衡等功能实现docker服务的可用性和容错能力。然而,这些中间件对复杂性和资源要求较高,学习和配置都需要较高的门槛且资源开销较大,并且集群需要一定的计算资源来运行控制平面和节点组件,在用户资源有限或容器数量较少或访问量较低的场景下,这些传统解决方案会增加基础设施的成本。


技术实现思路

1、为了克服上述技术缺陷,本专利技术提供了一种应用于docker的高容错并可容错调度方法、设备及介质。

2、为了解决上述问题,本专利技术第一方面提供了一种应用于docker的高容错并可容错调度方法,包括步骤:

3、采用ai学习训练dockerfile自动构建模型,并通过dockerfile自动构建模型获得微服务容器镜像;

4、注册服务实例;

5、创建kubernetes调度器,并调用scheduling framework调度框架对服务实例进行资源调度、负载均衡和/或故障转移。

6、进一步的,获取若干dockerfile样本以及样本参数,并对样本参数进行清洗和预处理,其中,样本参数包括dockerfile构建的镜像是否成功、构建镜像的大小和启动的时间;

7、对dockerfile样本以及数据处理后的样本参数进行特征提取,并采用机器学习训练dockerfile自动构建模型;

8、将目标源代码、目标运行环境信息输入到dockerfile自动构建模型,获得dockerfile;

9、基于预设的镜像、副本数量、配置大小以及dockerfile,生成yaml文件;

10、基于yaml文件构建微服务容器镜像。

11、进一步的,调用yaml文件模板接口指定镜像、副本数量和配置大小;

12、对yaml文件进行解析,获取服务实例配置信息;

13、采用kubernetes集群管理工具创建服务实例。

14、进一步的,创建并调用部署器对部署参数进行解析,其中,部署参数包括服务名称、镜像版本和配置文件;

15、基于解析后的部署参数创建服务实例;

16、监控服务实例创建过程中的创建关键指标,判断服务实例是否正常创建,其中,创建关键指标包括服务状态和网络配置。

17、进一步的,定义服务实例集合,服务实例集合中每一个服务实例均对应一个优先级值;

18、在每个调度周期中,根据服务实例的状态动态调整优先级值;

19、优先向优先级值高的服务实例分配资源。

20、进一步的,定义服务实例集合,服务实例集合中每一个服务实例包括有一个请求计数器;

21、在每个调度周期中,当出现服务实例故障时,优先向正常工作的、请求计数器数值最小的服务实例分配资源。

22、进一步的,服务请求增加时,优先向具有最少响应时间的服务实例分配服务请求,并更新该服务实例的响应时间数据。

23、进一步的,监控并采集服务实例的性能信息和日志信息;

24、当服务实例发生故障时,将故障的服务实例从负载均衡表中移除,并更新其在服务注册表中的状态;

25、创建故障移除器,将故障的服务实例上的流量切换到其他正常工作的服务实例上;

26、创建自动重启器,对故障的服务实例进行故障原因分析,并采用自动重启器进行重启。

27、本专利技术第二方面提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述的方法的步骤。

28、本专利技术第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的方法的步骤。

29、与现有技术相比,本专利技术具有以下有益效果:

30、本专利技术公开了一种应用于docker的高容错并可容错调度方法,采用ai学习训练dockerfile自动构建模型,并通过dockerfile自动构建模型获得微服务容器镜像;注册服务实例;创建kubernetes调度器,并调用scheduling framework调度框架对服务实例进行资源调度、负载均衡和/或故障转移。通过ai学习训练dockerfile自动构建模型能够提升微服务结构的构建奖励,降低用户的使用难度;通过自动化的服务发现、负载均衡和故障转移提升中小规模集群的容错能力,提高开发效率,降低人力成本和资源消耗,提高可用性和易用性。

本文档来自技高网...

【技术保护点】

1.一种应用于Docker的高容错并可容错调度方法,其特征在于,包括步骤:

2.根据权利要求1所述的高容错并可容错调度方法,其特征在于,所述采用AI学习训练Dockerfile自动构建模型,并通过Dockerfile自动构建模型获得微服务容器镜像,包括如下步骤:

3.根据权利要求2所述的高容错并可容错调度方法,其特征在于,所述注册服务实例,包括如下步骤:

4.根据权利要求3所述的高容错并可容错调度方法,其特征在于,所述注册服务实例,还包括如下步骤:

5.根据权利要求4所述的高容错并可容错调度方法,其特征在于,所述创建Kubernetes调度器,并调用Scheduling Framework调度框架对服务实例进行资源调度、负载均衡和/或故障转移,包括如下步骤:

6.根据权利要5所述的高容错并可容错调度方法,其特征在于,所述创建Kubernetes调度器,并调用Scheduling Framework调度框架对服务实例进行资源调度、负载均衡和/或故障转移,包括如下步骤:

7.根据权利要求6所述的高容错并可容错调度方法,其特征在于,所述创建Kubernetes调度器,并调用Scheduling Framework调度框架对服务实例进行资源调度、负载均衡和/或故障转移,包括如下步骤:

8.根据权利要求7所述的高容错并可容错调度方法,其特征在于,所述创建Kubernetes调度器,并调用Scheduling Framework调度框架对服务实例进行资源调度、负载均衡和/或故障转移,包括如下步骤:

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。

...

【技术特征摘要】

1.一种应用于docker的高容错并可容错调度方法,其特征在于,包括步骤:

2.根据权利要求1所述的高容错并可容错调度方法,其特征在于,所述采用ai学习训练dockerfile自动构建模型,并通过dockerfile自动构建模型获得微服务容器镜像,包括如下步骤:

3.根据权利要求2所述的高容错并可容错调度方法,其特征在于,所述注册服务实例,包括如下步骤:

4.根据权利要求3所述的高容错并可容错调度方法,其特征在于,所述注册服务实例,还包括如下步骤:

5.根据权利要求4所述的高容错并可容错调度方法,其特征在于,所述创建kubernetes调度器,并调用scheduling framework调度框架对服务实例进行资源调度、负载均衡和/或故障转移,包括如下步骤:

6.根据权利要5所述的高容错并可容错调度方法,其特征在于,所述创建kubernetes调度器,并调用scheduling fr...

【专利技术属性】
技术研发人员:许统洭何玉婷卢毅强
申请(专利权)人:广东天波信息技术股份有限公司
类型:发明
国别省市:

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

1