基于Kubernetes的微服务架构的实现及优化
这是一篇关于微服务架构,容器编排,集群调度的论文, 主要内容为Kubernetes将容器视为服务,并提供自动重启、弹性伸缩等功能,是当前部署微服务的主流平台。但kubernetes集群调度在默认实现上是一种在静态资源上进行的机制,在对电商类实际应用场景进行架构部署时,仍然存在扩缩容上的冗余计算以及节点资源利用率不足等弊端,这很容易造成集群并发性能以及高可用性上的瓶颈。针对上述挑战,在借助Kubernetes作为微服务架构的部署框架的基础上,论文对传统电商微服务架构默认调度进行优化。论文将整个架构体系划分为前置服务、业务服务、基础服务。使用k8s-nacos集群、oAuth2(开放授权)以及OSS(对象存储)等技术解决安全性能以及可靠性等微服务架构所面临的普遍挑战。通过DDD(领域驱动设计)对电商系统进行服务划分,并实现其中的业务服务部分以及前置服务部分,为调度优化提供实践基础。论文同时对Kubernetes默认调度实现的源码进行分析,改进默认调度流程以及调度算法来实现自定义调度器。自定义调度器通过增设CPU、内存、磁盘容量以及网络带宽等资源指标,并以资源指标的时间序列对副本创建时的资源需求值进行预测,同时根据集群中各节点的资源可用情况计算出不同资源倾向的pod专用权重,使用基于预测式权重自学习的调度策略将pod与Node进行绑定。实现自定义调度器后,创建deployment文件,并将其镜像文件部署到Kubernetes集群中,在集群创建Pod的时候,指定pod使用的调度器为自定义调度器。使用上述方案,具体结合DDD思想设计微服务电商系统,为架构部署在Kubernetes平台上的可行性提供实践依据。同时在处理并发能力、扩容副本创建时间以及资源实际利用率上与默认调度策略进行对比。实验结果表明,使用自定义的调度策略能更好的满足微服务架构的可靠性并提高整个架构集群的负载性能以及资源利用率。
基于Docker的公共计算管理平台设计与实现
这是一篇关于云计算,虚拟化,容器编排,Docker,Swarm的论文, 主要内容为十年前云计算的概念进入人们的视野,到如今,云计算经过飞速发展已经取得了卓越的成果。云计算从服务的层次来说,可划分为软件即服务(SaaS)、平台即服务(PaaS)、基础设施即服务(IaaS)三个层次的服务模型。云计算平台提供了大量的服务,整合了松散的功能,通过统一的接口进行资源的管理、调度、监控工作。其中,在基于PaaS层提供的云服务平台上,应用程序开发者可以方便快捷地开发、测试、部署应用程序,运维人员也可以方便地进行运维工作,将应用程序托管在PaaS层管理的云计算平台中,可以达到缩短开发周期,降低运维成本的目的,并且节省大量运维人员在平台搭建和维护中所做的工作。在云计算飞速发展的同时,Docker作为新兴的轻量级容器引擎为云平台的构建提供了可靠的支持。早期云计算平台的调度方式使用虚拟机来实现,而现如今云平台多使用容器技术来代替虚拟机,本文设计使用Docker作为底层调度单元。发布于2013年的Docker技术具有建立于容器虚拟化之上“开箱即用”的特性,Docker将应用程序和其所依赖的运行环境打包到一起,并借助Linux容器(LXC)技术实现应用隔离。传统的虚拟机技术实现的是硬件层次的虚拟,而Docker实现的则是操作系统级的虚拟。所以和虚拟机相比,Docker容器更加轻载,粒度更小,可移植性也更强。对于PaaS平台而言,Docker可以提供标准化打包部署和计算资源隔离的能力,从而使得PaaS平台的构建更加简单高效。基于Docker.的公共服务计算管理平台借助Docker容器技术构建了一个云平台模型。该平台针对传统计算平台管理方式存在的诸多局限,采用将应用程序打包于Docker容器中的方式,多种应用程序部署于一套集群上,方便运维管理。平台提供多种类型的基础镜像供用户使用,支持用户上传应用程序包构建自已的镜像。同时平台利用docker-compose提供应用组合的模版,方便一键式搭建。利用成熟的Python Web应用开发框架Flask编写了基于Docker的公共服务计算管理平台。计算资源调度和容器的编排则采用Docker集成的Swarm工具实现。Swarm的目标就是在不同的应用框架之间高效的共享硬件资源,同时简化自身的调度逻辑,使其具有尽可能大的兼容性和可扩展性,以保证在大规模集群使用环境下的健壮性和对各种可能的运算框架的普遍适用性。针对Swarm在调度策略方面存在的一些缺陷,进行了策略改进,将资源利用率尽可能的最大化。
面向云边异构环境的容器化微服务编排研究
这是一篇关于云计算,边缘计算,容器编排,Kubernetes,异构,微服务,服务质量的论文, 主要内容为云计算的发展给整个信息产业带来了巨大的变化。将一个大型应用按功能拆分为多个独立的组件,在开发效率、鲁棒性和弹性等方面有很大的提高。由于微服务架构应用具有天然分布式的特性,使得它非常适合于云计算范式,许多云平台应用以微服务的形式开发部署。对于作为云扩展计算模式的边缘计算,微服务架构同样适用。作为一种轻量的虚拟化技术,容器技术的低资源消耗、低成本、编程语言无关等特点使其非常适合于承载微服务。将应用以微服务方式开发并以容器方式封装,最后通过云平台的容器编排系统部署是一种流行的方式。然而,现有容器编排系统的资源管理、调度等机制是为云数据中心而设计,在云边环境中部署应用的首要问题是组成节点的处理器指令集架构通常是异构的,这直接会导致应用的执行错误。其次,云边环境中存在不同类型的节点,它们存在单线程计算能力差异,由于微服务架构应用的实例之间存在负载的关联,节点计算能力的异构必然会造成应用性能下降、节点负载不均衡和资源利用率低的问题。最后是微服务之间存在大量的交互,而容器间的通信带宽、延迟和硬件开销与它们在集群中的相对位置有关,不合理的微服务实例放置会导致额外的延迟,降低应用的服务质量。本文针对上述问题,首先,面向节点CPU指令集架构异构,提出了一种多架构容器部署方案,设计并实现了KubeHICE,测试结果表明,KubeHICE支持在调度过程中自动查找架构适配的节点,可避免应用部署错误。第二,构建了微服务应用模型,针对节点CPU单线程能力异构问题,根据微服务应用的特点提出了一种新的CPU资源分配模型,然后基于此模型设计并实现了一种节点能力感知的容器化应用调度机制KubeHICE+,实验结果表明,KubeHICE+可明显提高异构集群中节点资源利用率,保证应用的性能。第三,在上述工作基础上,根据集群容器网络拓扑结构和微服务交互特征,设计了一种QoS感知的容器化微服务调度方法,实现了基于该方法的Kube MHICE原型系统,并通过实验验证了此方法可明显降低最大服务延迟,提高服务质量。
基于PaaS的容器引擎管理平台的设计及实现
这是一篇关于容器,容器编排,持续集成,Docker,PaaS的论文, 主要内容为随着互联网的蓬勃发展和业务场景日趋复杂,要求应用程序能够快速迭代、快速上线,并能够根据流量的变化快速扩容。现有方案存在部署环境多样、流程长、沟通成本高、手工部署风险不可控等问题,导致部署过程缓慢、自动化程度低。由于部署环境个性化,提高了部署操作失败的风险,并且由于使用虚拟机技术,需要很高的硬件成本,这已经严重阻碍了业务的快速发展。本文利用Docker容器技术开发了一套PaaS应用系统“容器引擎管理平台”,目标是解决运维自动化的问题,减少由于环境差异造成的部署风险,为应用部署提供轻量、便捷的操作体验。根据业务流程进行了系统平台的需求分析;采用Docker容器技术进行了平台的技术架构设计;对平台的数据库、功能模块进行了概要设计;开发实现了平台的各个功能模块,包括用户管理、代码管理、镜像管理、应用管理、服务管理、监控管理等功能。并对系统平台进行了功能和性能测试,达到了实际应用的水平。本文研究的平台解决了目前普遍采用的技术方案所存在的问题,可以最大限度缩短应用程序的发布过程,应用上线时间缩短至秒级,发布过程安全、可控,提高硬件资源利用率,使应用服务的管理、运维更加便捷、高效、安全。同时可以为平台运营企业降低成本和运维工作量。
基于微服务与工作流技术的推荐系统研究与实现
这是一篇关于微服务,工作流,推荐系统,容器编排的论文, 主要内容为在面向广电用户的推荐系统中,涉及到了较多的业务范围,例如电影、电视、新闻,由于不同的业务范围和用户特点,产生了一些需要解决的问题。首先是不同的内容下需要针对用户的需求采取不同的推荐策略,因此需要将这些业务多层级多模块的划分和配置。其次的是若实现了上述的多种业务场景,系统的业务流程逻辑将较为复杂,普通的实现方法是硬编码,这导致管理人员难以清晰的查看业务流程动态。而第三个问题则是由于广电节目推荐系统的计算资源需求波动较大,导致资源的使用效率不高,推荐效果受影响。基于以上的背景,本文围绕广播电视内容推荐系统的业务范围划分、业务流管理以及在有限资源下的推荐计算量提升问题,使用推荐技术、微服务、工作流以及容器部署技术对系统进行了研究和实现。首先,本文构建了一个业务管理系统。系统管理人员可以在管理系统中手动添加业务模块与策略算法,并可将业务模块与策略算法通过灵活的配置结合起来,组成多种推荐场景。在推荐场景的实现是基于推荐系统的三层架构,包括离线、在线和近线三层,通过选择适当的组合,实现相关推荐、个性化推荐和热点推荐等场景。其次本文使用了工作流引擎对业务的流程进行管理,工作流引擎应用了业务流程建模符号标准来描述工作流,使业务流程更加的清晰且可控制业务的动态更改。传统的工作流是通过单体应用实现,本文使用微服务作为工作流引擎的单个任务实现,从而实现业务变更对系统部署的控制。最后,作为补充,为了在有限资源下提升推荐计算量,从而提升整体推荐效果,本文采用了部署层的动态热更新设计,即在推荐系统运行期间,根据系统负载变化对近线层和在线层的部署状态进行动态的更新。业务的灵活配置使得系统对于不同推荐需求的适配性更高,使系统可以基于固定推荐计算架构实现多种应用场景。通过工作流可将业务流程进行可视化与标准化的管理,使得推荐业务流程的静态组成和动态变化更加清晰直观。工作流与微服务的结合方便了推荐计算任务的部署和扩展,从而使得系统底层部署具有动态变更特性,使推荐计算量总是维持在高水平,提升了系统的整体推荐效果。
基于微服务与工作流技术的推荐系统研究与实现
这是一篇关于微服务,工作流,推荐系统,容器编排的论文, 主要内容为在面向广电用户的推荐系统中,涉及到了较多的业务范围,例如电影、电视、新闻,由于不同的业务范围和用户特点,产生了一些需要解决的问题。首先是不同的内容下需要针对用户的需求采取不同的推荐策略,因此需要将这些业务多层级多模块的划分和配置。其次的是若实现了上述的多种业务场景,系统的业务流程逻辑将较为复杂,普通的实现方法是硬编码,这导致管理人员难以清晰的查看业务流程动态。而第三个问题则是由于广电节目推荐系统的计算资源需求波动较大,导致资源的使用效率不高,推荐效果受影响。基于以上的背景,本文围绕广播电视内容推荐系统的业务范围划分、业务流管理以及在有限资源下的推荐计算量提升问题,使用推荐技术、微服务、工作流以及容器部署技术对系统进行了研究和实现。首先,本文构建了一个业务管理系统。系统管理人员可以在管理系统中手动添加业务模块与策略算法,并可将业务模块与策略算法通过灵活的配置结合起来,组成多种推荐场景。在推荐场景的实现是基于推荐系统的三层架构,包括离线、在线和近线三层,通过选择适当的组合,实现相关推荐、个性化推荐和热点推荐等场景。其次本文使用了工作流引擎对业务的流程进行管理,工作流引擎应用了业务流程建模符号标准来描述工作流,使业务流程更加的清晰且可控制业务的动态更改。传统的工作流是通过单体应用实现,本文使用微服务作为工作流引擎的单个任务实现,从而实现业务变更对系统部署的控制。最后,作为补充,为了在有限资源下提升推荐计算量,从而提升整体推荐效果,本文采用了部署层的动态热更新设计,即在推荐系统运行期间,根据系统负载变化对近线层和在线层的部署状态进行动态的更新。业务的灵活配置使得系统对于不同推荐需求的适配性更高,使系统可以基于固定推荐计算架构实现多种应用场景。通过工作流可将业务流程进行可视化与标准化的管理,使得推荐业务流程的静态组成和动态变化更加清晰直观。工作流与微服务的结合方便了推荐计算任务的部署和扩展,从而使得系统底层部署具有动态变更特性,使推荐计算量总是维持在高水平,提升了系统的整体推荐效果。
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设助手 ,原文地址:https://m.bishedaima.com/lunwen/48790.html