微服务环境下docker容器调度策略的研究与实现
这是一篇关于微服务,容器,负载预测,资源调度的论文, 主要内容为微服务架构是一种在云中部署应用和服务的技术。微服务架构将应用根据职责解耦成多个子模块,每个子模块独立部署并通过轻量级的通信机制进行交互,解决了用户日益增长的系统性能需求。微服务架构的部署可以通过容器技术将系统运行环境一起打包,大大降低了系统的运维难度。然而,由于容器相比传统的虚拟机粒度更小,资源调度问题也更加复杂,实际应用场景中在没有人工介入的情况下无法很好的对容器进行调度管理。并且随着容器规模不断增大,容器关系变得更加复杂,管理复杂性也大大增加。在这种情况下,系统的整体性能和人工操作正确率都难以得到保证。如何高效地对容器进行管理是微服务环境下亟待解决的问题。本文主要工作如下:1.提出一种基于门控循环单元(Gated Recurrent Unit,简称GRU)神经网络的负载预测算法。该算法的负载模型充分考虑了内存、CPU、磁盘IO以及网络IO对负载的影响。算法使用GRU神经网络模型对负载进行预测。实验结果表明,本文提出的负载预测算法不仅能够保证较高的预测精度,而且相对已有基于神经网络的负载预测算法计算效率更高。2.研究分析容器间的依赖关系对微服务性能的影响,根据依赖关系对容器进行邻域划分,并把划分结果整合到粒子群算法的关键参数中。在此基础上,提出一种基于邻域划分的容器调度算法。通过仿真实验表明该调度算法不仅能够保证一定的系统负载均衡,而且可以减少集群中跨物理主机的网络调用。3.设计并实现微服务环境下的容器调度系统,通过容器调度系统对电商微服务系统进行调度管理和性能测试。测试结果表明容器调度系统能够使得电商微服务系统负载更加均衡,能够减小系统响应时间。
云服务系统整体自动伸缩的方法研究与实现
这是一篇关于云服务,弹性扩展,负载预测,Kubernetes,神经网络,SVM的论文, 主要内容为随着各种云计算平台的广泛应用,运行于其上的分布式服务也日益普及,成为大中型互联网公司、云服务软件提供商构建系统的首选方式。云平台管理系统自身为了满足负载均衡,资源优化利用,服务质量保证等需求,实现自动伸缩性也是势在必行。可伸缩性是高性能,低成本和可维护性等诸多因素的综合考量。虽然可扩展性是云计算的重要特点,但高效的管理利用各种资源仍然是云平台管理系统的挑战之一。传统的响应式伸缩机制基于某些特定资源的使用指标对单个服务进行扩展。去中心化的SOA微服务之间存在互相调用、调用链复杂等情况,对单一服务进行扩展往往导致服务整体伸缩滞后,系统总体性能抖动严重。面对不确定的用户访问及异构系统各自工作负载的差异,问题的关键在于如何预测系统的负载并自动采取应对措施。本文围绕基于神经网格及SVM模型的预测算法展开研究,主要研究了如下内容:1)在目前已有的预测算法的基础上,设计了基于负载模式识别及自适应选择预测模型的负载预测系统;2)设计了伸缩决策量化的参照依据及计算方法。本文的创新点之一是依据特定的条件动态选择最适合的预测算法。本文提出的自适应预测模型主要包括区分增长型、周期性及不可知型工作负载模的识别模块、预测模型选择模块及基于神经网络和SVM的回归模型预测模块。基于策略模式及模板方法的预测模型选择模块今后可以扩展到应对更多的负载细分类型并自动选择相应的定制化预测算法。针对分布式云服务的特点,本文设计了伸缩决策量化模块,创新性地结合了分布式跟踪系统的调用链数据得到上游服务对下游服务的传递负载加权值,通过累加带权重的最上游服务的预测值得到下游服务的负载预测值;通过结合性能测试的报告来确定应对未来负载的变化需要进行的具体资源或部署的调整措施。最后,基于搭建的Kubernetes平台及其之上部署的电商云服务系统,对自动伸缩系统进行实现和验证分析。通过实验分析结果得出,本文提出的自动伸缩方法,能够根据负载模式选择正确的预测模型并取得了较准确的结果。相比基于响应式的动态扩展方式,能够在保证稳定性能的情况下,平均提高约15%的响应速度并节省约23%的计算资源。本文提出的云服务自动伸缩方法业已在公司内部进行研究测试,未来极有可能直接应用于生产环境。
云平台中服务负载自动化预测的设计与实现
这是一篇关于云平台,IaaS,负载预测,BP神经网络,MongoDB的论文, 主要内容为云计算从提出到现在已经成为一个炙手可热的话题,很多基于云计算的研究和应用如雨后春笋般出现,让互联网进入了“云”的时代。特别是云计算IaaS服务模式的出现,给用户提供了方便的按需分配资源的服务。用户把应用服务部署和运行在云平台中,可以根据服务的运行负载情况来增减资源。如果能够对服务的负载进行预测,不仅可以给用户提供一个预警,还可以帮助用户更及时地分配资源和回收资源,让资源分配防患于未然,以保证服务的正常运行,及时回收资源可以节约成本,对于充分有效利用资源具有重要意义。自动化预测节约了人工预测成本,避免了人工预测的麻烦和失误,让云平台智能化。 本文的服务负载预测就是实现以上描述的一套预测方案,负载预测基于一个弹性云平台,该云平台为IaaS平台。首先使用分布式监控程序Ganglia从云平台中的应用服务虚拟机里面定时获得虚拟机负载数据,然后把负载数据保存到MongoDB数据库。预测程序被打包成一个独立的运行模块,它能够定时执行预测。预测的过程首先从MongoDB数据库中读取用户数据,并统计用户和服务,然后读取负载数据,对负载数据进行检查和清洗,把清洗后的负载数据再进行训练样本制作,包括训练样本输入和输出,还有预测样本输入,把这些训练样本输入BP神经网络进行训练,再用预测样本输入到训练后的BP神经网络得到预测结果,最后把预测结果保存到数据库。为了方便用户可以直观地查看服务负载预测走势,开发了预测展示部分,用JSP页面来显示用户的服务和服务的负载走势曲线图,并通过分析负载情况给用户提供资源的分配和回收建议。
面向Kubernetes的容器自动弹性伸缩技术研究
这是一篇关于Kubernetes,水平自动伸缩,负载预测,欠预测的论文, 主要内容为随着云计算技术和容器技术的快速发展,基于容器的服务应用规模不断扩大,容器数量也不断增加,容器云平台需要对所有容器进行监控、调度和管理。目前以Kubernetes(K8s)为代表的容器云平台大都使用了响应式或计划式自动伸缩策略。这些被动策略存在伸缩延迟的问题。目前的研究并未对欠预测问题加以解决,这个问题将导致应用服务能力不足,进而造成请求超时率和拒绝率上升,最终降低服务质量。针对以上的这些问题,论文从以下三个方面进行了深入研究:(一)容器云的水平伸缩策略研究中,针对欠预测导致网络应用访问请求丢失问题的现有研究主要集中于对欠预测情况的预测,并没有查找到从欠预测情况发生后进行干预的策略方案的情况。提出了一种容器云水平伸缩策略称为PFCS。该策略在已有水平伸缩策略的基础上对策略框架进行了重新设计,优化了各模块的功能与各模块间的数据交换关系,主要从对欠预测发生后的干预措施出发,减小服务质量因欠预测的持续造成下降的问题,整合了两套独立的负载预测模型与一套应急伸缩算法。(二)为了进一步减小容器云运行过程中因负载预测耗时导致的伸缩延迟概率,提出了面向Kubernetes容器云平台特点的微服务负载预测模型称为TSBT。该模型主要通过对深度学习模型Transformer的针对性优化完成对微服务负载的快速预测。该模型通过对历史数据进行处理、分析,做出对未来短期内负载量变化的预测。通过与现有主流负载预测模型进行对比实验,该模型在保证预测精度不低于其余几种对比模型的情况下,预测时间减少了91%以上,提高了负载预测效率。(三)针对负载欠预测情况的发生,提出了一种应急伸缩算法称为ESA。该算法可以有效检测欠预测情况的发生。在一般情况下仅依靠一套负载预测模型以降低系统能耗;在检测到欠预测情况发生后立即激活应急预测模型,为伸缩决策提供更多预测结果,缩短应对欠预测的反应时间。实验结果表明,该算法能够在保证预测精度评价指标的情况下,降低请求拒绝率18.6~19.8%,保证了系统遭遇负载欠预测时的服务质量。
基于微服务业务平台的服务监控研究
这是一篇关于微服务,服务监控,负载预测,服务调用链,神经网络的论文, 主要内容为随着用户对应用服务的需求日益增加,传统的单体式架构已经不能支撑用户访问量增加所带来的系统负载压力。微服务架构成为高并发系统的主流架构。在微服务架构带来诸多优点的同时,也引入了运维困难的问题。一个高效的服务监控系统应在尽可能小的资源损耗下减少运维工作的难度。本文选题来自于企业科研项目,针对微服务化的 ISMP(Integrated Service Management Platform,综合业务管理平台)系统进行了服务监控相关的研究,包括服务节点监控以及服务调用链监控两个方面。针对服务节点监控,本文从单指标预测和多指标预测两个角度提出了两种容器负载预测模型用于服务节点的负载预测。第一种模型通过对负载数据进行集合经验模态分解,得到一组本征模函数,随后通过K-Shape算法进行聚类,为每一类分别建立基于神经网络的负载预测模型,最后将模型输出汇合,得到最终的预测结果。第二种模型通过卷积神经网络对多种负载数据进行相关性挖掘,再通过具有时域注意力机制的LSTM编解码器进行负载的预测。通过在开源的数据集上进行验证,结果表明,提出的容器负载预测算法比传统的LSTM等算法具有更高的预测精度。此外,本文结合ISMP系统特点,提出一种低消耗的服务调用链跟踪协议。通过在运行期将系统的服务跟踪消息合并,减少了服务跟踪引入的资源开销。在系统测试部分通过实验与开源跟踪工具Zipkin进行对比,验证了服务调用链跟踪协议的有效性。最后,本文基于提出的两种服务节点预测模型与服务调用链跟踪协议,设计并实现了服务监控系统,实际应用在综合业务管理平台系统的服务监控中。
基于微服务与容器的负载均衡系统设计与实现
这是一篇关于Docker容器,长短时记忆网络,负载预测,容器调度,布谷鸟搜索的论文, 主要内容为近些年来,互联网技术高速发展,网络用户也在相应地增长,传统的系统面临巨大压力。传统系统采用的是固定资源模式,应用程序被部署在物理机上,通常会被过度使用达到额定工作负载,导致系统的可用性以及稳定性不高,这样的模式浪费了能源和空间,资源利用率低。因此,研究负载均衡系统,使得整个应用系统高可用、高稳定性、资源利用率高具有巨大意义。目前,容器技术和微服务架构被广泛研究并被应用在当前网络系统中。互联网技术不断迭代,从最初的虚拟机部署到如今更细粒度的容器部署,因容器具有轻量化、便捷性和资源利用高等优点,所以替代了虚拟机;从最初的单体架构演变为微服务架构,微服务架构中每个服务具有自己独立的功能,共同维护更大的系统,分工明确,所以在开发、测试、部署和调度中具有显著优点。因此,本文结合上述优点,基于微服务Spring Cloud框架与Docker容器技术设计并实现负载均衡系统。本文主要工作有以下三点:(1)提出基于负载的具有注意力机制的双向长短时记忆网络(AttentionBi LSTM)预测模型。由于传统时间预测算法,采用的大多是回归拟合,精度较低,本文采用Bi LSTM神经网络模型,并加入注意力机制,提取和关心时间序列重要数据特征,提高预测的精度以及迭代的时间效率。并且负载模型充分考虑了CPU、IO、内存和网络等因素,表征更强。经实验验证,该模型具有较好的预测精度和计算效率。(2)提出基于容器依赖的改进离散布谷鸟优化算法(RDCS)。当系统负载不均衡时,需要进行容器调度。本文深入研究微服务架构下容器间依赖关系,基于容器依赖改进传统布谷鸟搜索(Cucoo Search)算法,在莱维飞行和放弃新建鸟巢关键步骤加入轮盘赌和容器依赖,增强了算法全局和局部搜索能力与效率。最终经过验证,该算法提高了系统的资源利用率、响应速度。(3)设计负载均衡系统并应用于风电场管理系统。对负载均衡系统进行需求分析,有如下功能:服务高可用、资源监控、集群服务管理和负载均衡模块。架构设计方面,采用模块分治结构,降低系统耦合度;并将改进负载预测模型和容器调度算法应用于实际风电场管理系统,除了能对外提供稳定的服务,还具有负载均衡功能。经过实验验证,该负载均衡系统,使得应用系统响应速度更快,更稳定。
容器云平台中负载预测与自动伸缩的研究与实现
这是一篇关于负载预测,编码器-解码器结构,注意力机制,自动伸缩,Kubernetes的论文, 主要内容为随着云计算的快速发展,越来越多的企业使用微服务架构开发业务系统,并部署到云平台中。微服务架构将复杂系统拆分为多个独立的子系统,降低系统不同功能之间的耦合度。容器技术将微服务及其依赖环境打包为镜像,通过镜像仓库共享镜像并下载运行,减少了微服务的成本,提高了灵活性。由于容器数量不断增加,容器云平台应运而生,在集群中对容器进行调度和管理,并通过自动伸缩技术在集群中创建或删除微服务实例,实现了资源的按需分配。但是目前容器云平台采用的自动伸缩策略均属于响应式伸缩,存在滞后性,导致微服务响应时间增加,且存在资源浪费的问题。因此本文提出了微服务负载预测模型,设计并实现了预测式自动伸缩方案。具体工作如下:(一)微服务负载预测模型的设计。该模型通过序列编码(Sequence Encoding)、序列特征提取(Sequence Feature Extraction)以及序列生成(Sequence Generating)对微服务负载进行预测,简称SEFEG预测模型。与现有负载预测模型进行实验对比,SEFEG模型预测5分钟、10分钟、15分钟和20分钟后的表现均优于其他三种对比模型。(二)微服务预测式自动伸缩方案的设计。针对当前容器云平台伸缩策略的不足,设计了预测式自动伸缩架构,并对架构中的实例发现模块、负载指标采集模块、负载预测模块和自动伸缩模块进行了详细设计,该方案能够基于预测模型实现自动伸缩。(三)基于Kubernetes的预测式自动伸缩方案的实现。使用资源自定义(Custom Resource Define,CRD)和自定义控制器(Custom Controller)实现了预测式自动伸缩方案,包括实例发现模块、指标采集模块、预测模块和自动伸缩模块。平稳负载测试和突发负载测试结果表明,实现的方案优于Kubernetes内置的自动伸缩方案,降低了微服务的响应时间。
云服务系统整体自动伸缩的方法研究与实现
这是一篇关于云服务,弹性扩展,负载预测,Kubernetes,神经网络,SVM的论文, 主要内容为随着各种云计算平台的广泛应用,运行于其上的分布式服务也日益普及,成为大中型互联网公司、云服务软件提供商构建系统的首选方式。云平台管理系统自身为了满足负载均衡,资源优化利用,服务质量保证等需求,实现自动伸缩性也是势在必行。可伸缩性是高性能,低成本和可维护性等诸多因素的综合考量。虽然可扩展性是云计算的重要特点,但高效的管理利用各种资源仍然是云平台管理系统的挑战之一。传统的响应式伸缩机制基于某些特定资源的使用指标对单个服务进行扩展。去中心化的SOA微服务之间存在互相调用、调用链复杂等情况,对单一服务进行扩展往往导致服务整体伸缩滞后,系统总体性能抖动严重。面对不确定的用户访问及异构系统各自工作负载的差异,问题的关键在于如何预测系统的负载并自动采取应对措施。本文围绕基于神经网格及SVM模型的预测算法展开研究,主要研究了如下内容:1)在目前已有的预测算法的基础上,设计了基于负载模式识别及自适应选择预测模型的负载预测系统;2)设计了伸缩决策量化的参照依据及计算方法。本文的创新点之一是依据特定的条件动态选择最适合的预测算法。本文提出的自适应预测模型主要包括区分增长型、周期性及不可知型工作负载模的识别模块、预测模型选择模块及基于神经网络和SVM的回归模型预测模块。基于策略模式及模板方法的预测模型选择模块今后可以扩展到应对更多的负载细分类型并自动选择相应的定制化预测算法。针对分布式云服务的特点,本文设计了伸缩决策量化模块,创新性地结合了分布式跟踪系统的调用链数据得到上游服务对下游服务的传递负载加权值,通过累加带权重的最上游服务的预测值得到下游服务的负载预测值;通过结合性能测试的报告来确定应对未来负载的变化需要进行的具体资源或部署的调整措施。最后,基于搭建的Kubernetes平台及其之上部署的电商云服务系统,对自动伸缩系统进行实现和验证分析。通过实验分析结果得出,本文提出的自动伸缩方法,能够根据负载模式选择正确的预测模型并取得了较准确的结果。相比基于响应式的动态扩展方式,能够在保证稳定性能的情况下,平均提高约15%的响应速度并节省约23%的计算资源。本文提出的云服务自动伸缩方法业已在公司内部进行研究测试,未来极有可能直接应用于生产环境。
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码驿站 ,原文地址:https://m.bishedaima.com/lunwen/48426.html