System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于计算机,具体涉及一种应用于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所述的高容错并可容错调度
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...
【专利技术属性】
技术研发人员:许统洭,何玉婷,卢毅强,
申请(专利权)人:广东天波信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。