【技术实现步骤摘要】
本专利技术涉及器化微服务
,尤其涉及一种容器化微服务自动伸缩及迁移调度的方法、系统和设备。
技术介绍
在如今的互联网和企业应用开发领域,微服务和DevOps这两个思想颇为深入人心。而Docker技术的出现和其对整个容器技术及其生态圈发展的促进,解决了微服务和DevOps这两个思想实践中的很多难题,使得微服务和DevOps这两种思想大规模地实现成为了可能。而Docker给系统架构各应用的微服务容器化提供了诸多便利的同时,也对企业的服务治理带来了很大挑战。为了充分利用IDC的物理资源、节省企业成本和保证服务的高可用性,在保证服务不中断情况下需要对服务进行弹性伸缩和迁移调度。目前,对服务进行弹性伸缩和迁移调度主要有两种方式:1、手工方式:1)根据容器化微服务故障的监控预警信息,运维人员手工把不可用的服务调度到集群中其它可用节点上。2)预估系统流量压力,运维人员提前在预测时间点手工扩容、缩减容器化微服务实例资源配额或数量。2、基于系统性能监控的自动调度方式:服务治理平台或监控系统监控容器的CPU、内存、网络流量,根据预先设定的规则,在CPU、内存或网络流量使用量达到阀值时自动扩容或缩减容器实例数量。专利技术人在研究的过程中发现,上述两种方式存在以下缺点:手工方式效率低:从接到告警信息到运维人员完成手工伸缩,响应时间不及时。企业运维成本高:每次伸缩都需要运维人员全程参与造成运维成本高。操作失误风险高和推广困难:如策略、规则和伸缩模式复杂,会造成运维人员学习和应用困难,推广阻力大。同时,由于根据策略和规则计算最优的伸缩模式复杂,很容易造成操作失误风险。基于系统 ...
【技术保护点】
一种容器化微服务自动伸缩及迁移调度的方法,其特征在于,包括:接收容器和/或微服务产生的经故障定位后的预警数据;和/或第三方平台发送的携带容器和/或微服务自动伸缩任务计划数据;触发容器自动伸缩或故障调度转移。
【技术特征摘要】
1.一种容器化微服务自动伸缩及迁移调度的方法,其特征在于,包括:接收容器和/或微服务产生的经故障定位后的预警数据;和/或第三方平台发送的携带容器和/或微服务自动伸缩任务计划数据;触发容器自动伸缩或故障调度转移。2.如权利要求1所述的方法,其特征在于,所述接收容器和/或微服务产生的经故障定位后的预警数据,包括:实时接收资源监控和分析系统发送的容器和/或微服务产生的经故障定位后的预警数据。3.如权利要求2所述的方法,其特征在于,所述实时接收资源监控和分析系统发送的容器和/或微服务产生的经故障定位后的预警数据,包括:资源监控和分析系统实时采集服务调用日志和容器资源利用信息;判断所述采集的服务调用日志和容器资源利用信息满足系统预设预警条件后,在微服务调用链里定位原始故障点;实时接收资源监控和分析系统发送的所述原始故障点的异常信息数据。4.如权利要求3所述的方法,其特征在于,所述判断所述采集的服务调用日志和容器资源利用信息满足系统预设预警条件后,在微服务调用链里定位原始故障点,包括:基于服务器配置的预设预警条件阀值以及预设算法分析,判断采集的HTTP和TCP/UDP类型的服务调用日志和容器资源利用信息中的容器CPU、内存、存储、IO和/或网络的使用数据,以及微服务的响应时间、失败率、QPS是否满足系统预设预警条件;若满足系统预设预警条件之一,则进行故障传导分析,在整个微服务调用链里定位原始故障点。5.如权利要求4所述的方法,其特征在于,所述系统预设预警条件包括但不限于高负荷、低使用率、异常波动或可用性不达标中的一种或多种。6.如权利要求1-5之一所述的方法,其特征在于,所述触发容器自动伸缩或故障调度转移,包括:根据预警数据中的IP和端口或服务ID从容器集群环境中获取相关微服务属性信息;把预警数据交给规则引擎选出需要执行动作的决策项集合,依据决策项的调度机制调用任务执行引擎生成计划任务,任务执行引擎根据任务计划数据定义准时调用容器集群的API触发容器完成自动伸缩或故障调度转移。7.如权利要求6所述的方法,其特征在于,所述把预警数据交给规则引擎选出需要执行动作的决策项集合,依据决策项的调度机制调用任务执行引擎生成计划任务,任务执行引擎根据任务计划数据定义准时调用容器集群的API触发容器完成自动伸缩或故障调度转移,包括:参照RETE算法,根据预警数据的类型进行规则类型匹配,将每类中的预警数据根据属性值进行多级规则匹配,选出一个条件被优先满足的规则后,根据选定的规则从规则适配决策表中匹配决策项集合,通过匹配的决策项集合解决决策项集合中的冲突,形成可顺序执行决策项,根据决策项的调度机制调用容器集群的API完成容器伸缩或故障调度转移。8.如权利要求1所述的方法,其特征在于,所述接收第三方平台发送的携带容器和/或微服务自动伸缩任务计划数据,触发容器自动伸缩或故障调度转移,包括:接收第三方平台按照接口调用协议定义的格式提交的携带容器和/或微服务自动伸缩任务计划数据;调用任务执行引擎生成计划任务,任务执行引擎根据任务计划数据定义,准时调用容器集群的API触发容器完成自动伸缩或故障调度转移。9.如权利要求8所述的方法,其特征在于,所述接收第三方平台按照接口调用协议定义的格式提交的携带容器和/或微服务自动伸缩任务计划数据,包括:接收第三方平台通过HTTP或HTTPS协议提供的接口通过同步调用或异步调用服务使用JSON格式提交的携带容器和/或微服务自动伸缩任务计划数据,并在注册成功回调地址后可实现消息推送。10.如权利要求1-9所述的方法,其特征在于,所述触发容器自动伸缩,包括:伸缩容器的CPU、内存、存储资源中的一种或多种;重启容器;基于预设时间间隔将容器逐一伸缩;基于预设时间间隔按照预设比例将容器逐步伸缩。11.一种容器化...
【专利技术属性】
技术研发人员:曹杰,冯雨晖,宿晓坤,苏建辉,李苏,李付华,
申请(专利权)人:北京红马传媒文化发展有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。