基于微服务的线下教育平台设计与实现
这是一篇关于线下教育,服务网格,Istio,微服务治理的论文, 主要内容为随着国民收入不断增加,家庭物质生活的不断改善,子女教育也越来越引起家长的关注和重视。在我国,城市学生每周平均花费10.6小时以上用于课外培训[1]。预计在2020年教育培训业市场规模将达到5000多亿元。通过走访调研各线下培训机构和学生,得出相比于线上教育,兴趣体能类培训线下教育行业还是存在不可替代的地位。调研市面上中小型培训机构,发现其存在内部自动化管理差、宣传广度小和师资队伍结构不稳定等问题。国内外也暂无平台级系统整合培训类线下教育系统。针对以上问题,本文采用微服务架构、Docker容器化部署以及Kubernetes平台管理等技术,设计并实现了基于微服务的线下教育管理平台系统。该系统可供中小型机构入驻,整合教师资源,实现机构自动化管理,满足用户数据安全性,具有扩展性强等优点。论文主要完成工作如下:(1)调研走访学生、教师和多家培训机构,梳理其工作流程,以用例图形式总结各角色功能,完成需求分析。(2)根据业务需求采用基于微服务架构的前后端分离开发方式,将服务分为聚合服务和原子服务,聚合服务对外暴露接口,原子服务供聚合服务调用且对外不可见,此做法可提高原子服务的复用性且部署和扩展灵活。此外,后端服务接口按照Restful风格设计。(3)比较业内成熟的微服务治理框架Spring Cloud和基于服务网格理论的流行服务治理框架Istio,由于Istio采用边车模式实现业务层和服务通信与治理策略基础层分离,对业务代码无侵入和对开发语言无限制等优良特性,最终采用Istio作为本系统的服务治理框架。为实现快速灵活部署采用Docker容器化技术进行部署任务,同时搭配Kubernetes容器云平台来管理容器化应用服务。(4)完成系统的总体设计,将系统分为:四层数据层、业务服务层、接口层、表现层。并对各层进行设计与实现,包括业务服务、基础公共服务和系统通用功能,其中系统通用功能包括服务发现、API网关、用户认证和服务熔断模块。(5)基于等价类划分和边界值分析法对系统功能测试用例进行分析,针对分析结果制定详细功能测试用例。为比较基于Istio服务治理框架开发的系统性能问题,针对线下教育平台系统使用业界成熟的Spring Cloud服务治理框架开发一个版本,在Centos中搭建了Kubernetes集群,并在集群中部署了系统作为实验环境。通过JMeter测试工具设置不同参数来模拟用户并发数对两个系统进行测试。实验结果表明,基于Istio的线下教育平台系统在高并发时的平均响应时长要优于基于SpringCloud开发的相同系统。
边缘云中面向云原生应用的服务间通信优化
这是一篇关于边缘计算,云原生,微服务调度,服务网格,规则缓存的论文, 主要内容为边缘计算(Edge Computing)通过融合网络边缘侧的计算、存储和网络等资源,实现了算力资源的就近供给,满足了实时性和敏捷性等方面的服务需求,被视为未来云计算(Cloud Computing)发展的重要趋势之一。近年来,云原生计算(Cloud Native Computing)已经成为云计算的发展主流,通过采用微服务化和松耦合化的服务架构,实现基于服务的快速按需应用编排。同时,以Kubernetes为代表的云原生编排系统和以Service Mesh为代表的微服务治理技术,被视为未来分布式系统的核心。边缘计算作为云计算的扩展,也享有类似的发展思路。依托轻量级云原生支撑技术(如容器)可有效实现资源隔离、快速部署、高效管控等功能。目前,将云原生技术引入边缘计算并构建边缘原生生态,已得到业界的广泛认可。尽管边缘原生计算(Edge Native Computing)潜力如此巨大,但在实际应用过程中仍存在许多挑战,例如,微服务间通信延迟难缓解。为此,本文将从微服务的部署阶段和运行时微服务的流量治理阶段两个方面对微服务间通信进行优化。现在Kubernetes的“尽力而为”的调度策略,导致在调度微服务应用时忽略了微服务之间的通信对性能的影响,致使部分微服务在通信过程中将承受高额的跨服务器通信开销,特别是在边缘云环境中会显得格外突出。同时,为了解决微服务通信的复杂性问题,服务网格将服务到服务通信中的控制平面(Control Plane)和数据平面(Data Plane)解耦。在数据平面中,每个微服务都附加了一个Sidecar代理,以封装微服务之间复杂通信。微服务Sidecar代理的行为都在控制平面的集中控制器的控制之下。显然,这不可避免地会引入额外的通信控制延迟,进而影响微服务的响应时间。由于微服务分布广泛,边缘服务器之间的通信延迟相对较长,这个问题也在边缘云中尤为突出。本文首先针对Kubernetes的调度器(Kube-scheduler)在通信方面的缺陷,通过更改调度器的Priorities算法将存在较大通信量的微服务调度到同一边缘服务器中,以最大限度地减少通信开销。然而,这种贪婪的将存在高通信量的微服务放置在同一边缘服务器上,必将忽视掉被调度的微服务(更确切地说,应该是微服务实例。在这里,为了避免误解,本文简单的说成微服务。)对每种资源(即CPU和内存)的请求量和边缘服务器上每种资源剩余量的匹配度。当再调度特定的资源密集型微服务时,很可能会产生大量的资源碎片,甚至造成单个资源的性能瓶颈,进而导致资源的浪费。因此,本文针对这些问题提出了一个通信和资源感知的微服务调度架构,即Kube-MSRM,以确保云原生应用的低延迟的同时,充分平衡边缘服务器内的资源消耗。根据大量真实实验结果表明,Kube-MSRM在确保了在面对云原生应用所需Qo S的同时,与Kubernetes和最先进的调度框架相比,在低负载时,将边缘服务器间的资源消耗差距分别平均减少了2.54%和39.39%。高负载时,平均降低了48.29%和3.26倍。进一步地,为了减少服务网格在边缘云中治理服务间流量时,通信控制对云原生应用的服务质量的影响。规则缓存被提出以解决此类问题。但是,如何管理规则缓存至今还未研究。为此,本文首先深入研究了服务网格的架构,以挖掘两个缓存站点(即控制器和微服务Sidecar代理)的优缺点。然后,研究了如何在考虑缓存容量限制和请求速率异质性的情况下,实现快速服务到服务通信的同时,平衡两个缓存站点的使用的问题。该问题被表述为整数线性规划(ILP)形式,并被证明是NP-hard问题。并提出了一种基于双标准随机舍入(Dual-standard Randomized Rounding,DSRR)的算法,并从理论上分析了其可实现的近似率。基于跟踪驱动仿真的实验表明,基于RR的近似算法(DSRR)平均将通信控制请求的响应延迟降低了4.35倍,同时将缓存占用空间节省了24.75%。为了缓解在边缘云中部署和治理云原生应用的过程中所出现的高微服务间通信延迟的问题,本文将从微服务的部署阶段和运行时微服务的流量治理阶段两方面来对微服务间通信进行优化,以保证在边缘云中云原生应用的服务质量。
基于服务网格的云原生微服务治理方法研究
这是一篇关于云原生,微服务,服务治理,服务网格的论文, 主要内容为微服务是云原生时代应用服务框架的关键技术,在敏捷开发、持续集成、持续部署和云计算等领域扮演着重要的角色。微服务治理框架用以对大规模的微服务在服务注册与发现、流量管理、可观测性和安全性等方面进行服务治理,提供了更加灵活、敏捷和高效的应用服务体系,对微服务应用稳定运行具有广泛而重要的影响。然而,微服务治理功能同应用功能存在绑定关系、升级成本高以及多语言支持不足的特性,很难对异构微服务进行统一管理,以达到较好的治理效果。由于服务治理功能深度绑定业务功能的特性,微服务治理面临着对异构微服务治理能力不足、网格治理性能低成本高和难以接入应用的挑战。微服务治理通常的做法是使用Spring Cloud、Go-Micro和Zero等框架分别对java应用、Go应用和Python等应用进行治理,但都不能解决上述挑战。面对上述挑战,本文设计了跨语言支持的微服务治理方案,实现了云原生微服务场景下的低成本、高性能和易部署的微服务治理能力。具体来说,本文的主要贡献总结如下:(1)本文设计了基于服务网格的云原生微服务治理方案。针对微服务业务功能与服务治理框架存在深度绑定和升级困难问题,设计了非侵入应用的网络边车代理方案,实现了劫持各微服务组件之间全部网络通信流量的功能,达到了微服务调用高效治理的目标。具体来说,设计了双平面服务治理网格模型,实现了数据平面网络边车代理对应用进行透明流量劫持,控制平面进行集中策略制定并分发策略的功能;设计了非侵入应用的网络边车代理Sidecar作为数据平面,实现了微服务治理功能同业务功能完全分离,并对微服务应用进行流量代理的功能;设计了治理策略统一配置组件作为控制平面,实现了云原生微服务间的安全连接、流量管理和可观测性等服务治理功能。(2)设计了网络边车代理Sidecar三种性能优化方案。针对网络边车代理Sidecar成本高及性能低的问题,设计了三种可组合优化性能方案,实现了对云原生微服务在网络代理方面的成本可控,在治理能力方面的性能优化,达到了降低成本、降低延迟同时提高性能的目标。具体来说,设计了Proxyless透明代理模式的优化方案,解决了网络边车代理资源成本高的问题;设计了基于e BPF拦截流量并缩短调用路径的优化方案,解决了网络边车代理调用延迟高的问题;设计了Envoy日志采样的优化方案,解决了网络边车代理吞吐性能低的问题。(3)设计了微服务治理方案一键接入应用。针对治理方案难以接入应用的问题,本文基于上述两个设计方案,面向跨语言微服务通用业务,设计了一键接入应用。具体来说,在K8S基础设施之上,以轻量容器化方式部署编排微服务应用,并设计一键接入服务网格方案进行微服务治理,达到了容易部署、成本可控的设计预期,实现了对云原生异构微服务高效治理的目标。实验结果表明,本文提出的基于服务网格的云原生微服务治理方案,能有效处理微服务框架治理功能与业务功能深度绑定问题,同时解决了微服务治理功能库难以升级的问题。本文设计的四种非侵入应用的网络边车代理部署模式,够针对不同场景进行轻量化容器部署,搭配对应的优化方案,不仅可以降低成本,还能在整体上实现高吞吐、低延迟和高性能的目标。在此基础上,本文还设计了轻量化一键接入应用模式,能够轻松接入应用,达到了云原生异构微服务高效治理的目标。
微服务架构下服务发现和服务容错技术研究
这是一篇关于微服务架构,服务治理,服务网格,服务注册与发现,服务容错的论文, 主要内容为微服务架构已成为互联网发展的关键技术,给软件生产关系带来革命性的发展,它将大型复杂软件系统分解为许多松耦合的微服务,对分解后的微服务通过服务治理技术进行管理,有效提高系统的可扩展性和稳定性。但随着系统的演进和微服务拆分粒度的细化,微服务的规模呈爆炸式增长,出现服务发现时延长、服务容错效果差、服务维护成本高等问题,导致服务治理技术成为微服务架构系统发展的瓶颈。本文主要研究微服务架构体系中服务治理技术,重点关注服务发现和服务容错关键技术研究,具体研究工作如下:针对微服务架构中微服务的海量性和高度动态性导致服务发现时延长、系统效率低的问题,提出一种基于服务网格和服务语义的探测网格方案(Detector Mesh,DM),该方案主要分为两部分:服务注册和服务发现。在服务注册方面,本文基于服务网格思想将微服务治理和微服务开发的进行深层次解耦,减小微服务治理对系统应用代码的侵入,同时还构建服务本体模型:层级本体结构,为服务发现提供坚实的基础;在服务发现方面,将微服务语义、微服务路径和微服务状态三方面综合考虑,提出Local-Remote算法,该算法的基本思想是基于微服务语义对海量异构的微服务进行聚类,减小服务发现的搜索范围,进而缩短服务发现的时延,然后根据微服务路径和状态层层递进,发现微服务实例。通过实验证明,本文提出的DM方案与现有服务发现效果最佳的方案WSDMWBG相比,效率提高28.3%,有效降低服务发现的时延。针对服务容错中缺乏考虑服务间存在的关联性、服务限流阈值的静态性和多种容错方式协作性差等问题,本文提出全面性容错方案(Comprehensive Service Fault Tolerance,CSFT)。CSFT方案由服务降级和服务限流两种容错方式组成,服务降级利用DM方案产生的服务间关系矩阵将服务划分为关联服务和无关服务,并根据当前的核心服务找到无关服务集合,实现对无关服务集合进行层次降级;当降级模式失效时,则会触发服务限流,服务限流基于强化学习对核心服务的限流阈值进行自适应调整,为核心服务提供良好的外部环境。通过实验证明,在服务容错率方面,本文提出的CSFT方案比组FT方案提高9.6%,容错效果显著提高,有效地防止微服务系统出现雪崩。基于本文所提出的DM方案以及CSFT方案,使用Golang语言实现了服务注册与发现和服务容错组件,并将组件集成到搭建的Kubernetes联邦集群中,设计和实现了微服务管理平台,对推动服务治理技术研究和应用具有一定的理论和实际意义。
服务网格框架的设计与实现
这是一篇关于服务网格,分布式服务框架,在线教育的论文, 主要内容为微服务架构作为一种对单体应用架构的升级,在性能和开发模式等各方面都有较好的表现,在各种互联网产品中都得到了广泛的应用,成为近年来最主流的软件架构。但是传统的微服务架构中框架与业务仍是紧耦合的关系,使得框架自身演进困难,另外还由于传统的微服务框架难以支持多语言的并行开发等原因,使得开发人员将眼光转向新的软件架构。基于服务网格架构思想,设计并实现了一个具备服务注册与发现、自动化配置、RPC调用、流量控制和服务降级等功能的服务网格框架,实现了服务层与业务层的解耦,使得业务的开发不需要依赖于微服务众多的SDK,服务层与业务层独立维护与升级。此服务网格框架和微服务框架有着相同的应用场景,能作为一个通用的新型分布式服务框架,取代传统的微服务框架。另外,作为一个此服务网格框架的应用实例,实现了一个基于此框架的在线学习平台,平台包含四个主要服务模块,各服务模块作为独立的服务层来处理分布式调用请求。对框架在不同场景下进行了吞吐量和响应时间等指标的性能测试,并与传统的微服务框架做了对比,测试结果表明此服务网格框架能高效处理分布式服务调用请求,能满足一般应用场景的需求。
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕业设计客栈 ,原文地址:https://m.bishedaima.com/lunwen/46564.html