admin 管理员组

文章数量: 887836


2024年2月5日发(作者:新能源电动汽车电机多少钱)

ISSN1009-3044ComputerKnowledgeandTechnology电脑知识电脑知识与技术与技术Vol.17,No.4February2021E-mail:*************.cn第17卷第4期(2021年2月)http://:+86-551-6569一种基于微服务架构的在线教育平台设计与实现洪柏桦,毛文琪,瞿少成(华中师范大学物理科学与技术学院,湖北武汉430079)摘要:针对传统单体式架构在线教育平台存在灵活性较低、可拓展性和稳定性不足等问题,设计了一种基于微服务架构的在线教育平台。首先,该在线教育平台采用SpringCloud框架来搭建微服务;然后,利用Nacos组件和其他微服务组件搭建项目基础环境;同时还选取MyBatis-Plus框架作为持久层的框架;最后利用框架搭建前台系统。该系统实现了线上课程的有效管理,满足了用户的个性化学习需求。相比与传统单体式架构系统,该系统将不同服务模块部署在不同服务器上,使用灵活、拓展方便、稳定性好,具有一定的实用价值。关键词:微服务;在线教育平台;SpringCloud;MyBatis-Plus;中图分类号:TP319文献标识码:A开放科学(资源服务)标识码(OSID):DesignandImplementationofOnlineEducationPlatformBasedonMicroserviceArchitectureHONGBai-hua,MAOWen-qi,QUShao-cheng(CollegeofPhysicalScienceandTechnology,CentralChinaNormalUniversity,Wuhan430079,China)文章编号:1009-3044(2021)04-0010-03Abstract:Aimingattheproblemsoflowflexibility,poorscalabilityandstabilityintraditionalmonolithiconlineeducationplat⁃forms,anonli,theonlineeducationplatformusestheSpringCloudframeworktobuildmicroservices;second,itusesNacoscomponentandothermicroservicecomponentstobuildthebasicprojectenvironment;atthesametime,italsoselectsMyBatis-Plusasthepersistencelayerframework;stemrealizestheeffectivemanagementofcoursesandmeetstheneedsofpeople'spersonal⁃edwiththetraditionalmonolithicarchitecturesystem,thissystemdeploysdifferentservicemodulesondiffer⁃entservers,whichisflexibleinuse,convenientinexpansion,stable,ds:microservice;onlineeducationplatform;springcloud;mybatis-plus;1背景近些年来,随着互联网的快速发展,基于网络发展的新型教育形态正在风靡全球。人们快速增长的在线学习需求,推动[1]了在线教育平台的迅速发展。今年,学校以及培训机构无法进行线下教学,这更加推动了教育行业的线上转变。在线教育的热潮推动了各类在线教育平台和工具的兴起[2]。由于技术的局限性,许多传统的在线教育平台采用单体式架构进行开发,随着业务规模的增长,单体式架构的系统在灵活性、可拓展性、稳定性和维护等方面存在一些瓶颈[3]。于是,人们提出了微服务的设计理念,它是系统架构上的一种设计风格[4],其设计思想是将系统拆分成多个相互独立运行和部署在不同服务器上的微型服务,服务之间通过HTTP/HTTPS或者RPC协议进行通信协作[5-6],这就使得系统的及时[7-8]交付以及灵活拓展成为可能。设计了一种基于微服务架构的在线教育平台,该平台采用SpringCloud框架来搭建微服务,将系统拆分为多个微型服务,使用阿里巴巴提供的Nacos组件作为服务注册中心,选用MyB⁃atis-Plus框架作为持久层框架,同时使用框架搭建前台系统。不同服务模块部署在不同的服务器上,服务之间通过协作来完成系统的功能,克服了传统单体式架构系统的缺点,系统部署灵活、可拓展性好、使用稳定,具有一定的实用价值。2系统总体设计基于微服务架构的在线教育平台总体架构如图1所示。在设计基于微服务架构的在线教育平台时,严格遵守代码开发中“高内聚,低耦合”的准则,实现系统的可拓展性和开放性。运用微服务这种面向服务架构的思想,将系统划分成互相独立同时功能专一的多个小型服务。收稿日期:2020-10-18基金项目:国家自然科学基金(项目编号:61673190/F030101)作者简介:洪柏桦(1993—),男,湖北黄梅人,硕士,主要研究方向为软件工程、微服务;毛文琪(1996—),女,湖南桃源人,硕士,主要研究方向为智能web技术;瞿少成(1971—),男,湖北武汉人,教授,博士生导师,主要研究方向为智能信息处理与控制。10本期推荐本栏目责任编辑:王力

第17卷第4期(2021年2月)后台系统前台系统讲师管理分类管理课程购买登录注册表现层订单管理统计分析课程评论广告管理其它其它智能路由(服务网关)zuul负载均衡Ribbon服务层核心应用服务资源上传服务服务注册服务调用(Nacos)短信服务广告服务(Feign)统计分析服务其它用户DB讲师DB订单DB其它数据层图1在线教育平台总体架构所设计的在线教育平台总体架构主要分为3层:库取得的数据和接受用户传输的数据,1)表现层:用户与系统进行交互,主要功能是显示从数据分为前台系统和后台系统。后台系统管理员获得授权,就能够拥有课程管理、讲师管理、广告管理、数据统计分析等权限;前台系统是面向普通用户的,普通用户能够查看相关的课程和讲师,同时能够购买自己感兴趣的课程。独立且功能专一的微型服务组成,2)服务层:由资源上传、统计分析和核心应用等多个相互服务之间通过协作来完成系统特定的功能。储在线教育平台用户数据、3)数据层:与服务层进行数据交互,讲师数据和订单数据等其他数据。选取MySQL数据库存3系统详细设计3.1系统功能需求设计所设计的基于微服务架构的在线教育平台分为前台系统和后台系统,前台系统是面向普通用户的,后台系统是面向系统管理员的,系统用例图如图2所示。管理课程浏览广告管理讲师用户登录分类管理查看课程管理员统计分析购买课程用户管理广告查看讲师图2系统用例图根据图2系统用例图,设计了在线教育平台系统的功能。如图3所示,后台系统主要有课程管理、讲师管理和分类管理本栏目责任编辑:王力ComputerKnowledgeandTechnology电脑知识与技术等功能。前台系统的设计是关乎用户们的使用体验以及购买课程的意愿,因此前台系统设计至关重要,前台系统功能如图4所示,主要有首页数据显示、讲师信息和注册登录等功能。后台系统功能课程管理讲师管理分类管理广告管理统计分析其它图3后台系统功能前台系统功能首页数据显示讲师信息注册登录课程评论课程购买其它图4前台系统功能3.2数据表设计数据库选择的是MySQL数据库,采用多张表存储相关的数据,部分数据表之间关系如图5所示,数据表之间除了有一对一以及一对多两种关系,还存在无关联关系。edu_chapter idcourse_idedu_subjecttitle idsorttitlegmt_createparent_idgmt_modifiedsubject_idnsortedu_course_descriptiongmt_create id1gmt_modifieddescriptionedu_course1gmt_create idgmt_modifiedteacher_idnsubject_parent_idedu_comment1subject_id idtitlecrm_bannerteacher_idprice idmember_id1lesson_numtitlenicknamecoverimage_urlcontentbuy_countlink_urlgmt_createview_countsortgmt_modified1versiongmt_createis_deletestatusgmt_modifiednis_deletedis_deletegmt_creategmt_modified图5数据表关系4系统实现与测试4.1系统实现telliJ详细分析了系统的功能需求和设计了数据表后。使用先创建一个IDEA和MavenVisual工程,Studio使用CodeIn⁃Spring作为后端和前端开发工具,Cloud框架来搭建微服务,首将系统拆分为核心应用服务、订单服务和资源上传服务等几个小型服务;其次配置服务注册中心Nacos和其他微服务组件;同本期推荐11

ComputerKnowledgeandTechnology电脑知识与技术时选取MyBatis-Plus作为持久层框架,与数据库交互;最后使用作为前端框架,同时采用element-ui来设计页面。4.2系统测试首先启动系统的各项服务,同时启动Nacos客户端,服务启动之后,在服务注册中心Nacos进行注册,如图6所示,在图6服务列表中,可以知道各项服务已经在服务注册平台注册了,有核心应用服务、订单服务和资源上传服务等。图6服务注册系统部分实际效果如图7和图8所示,图7为课程信息列表,后台管理员可以查看课程列表和查询课程;图8为普通用户注册登录,用户可以在此页面注册和登录账号。图7课程信息列表图8用户注册登录系统的功能测试选取了后台系统和前台系统的部分功能12本期推荐第17卷第4期(2021年2月)进行测试,如表1和表2所示。测试结果验证了系统几大核心功能运行正常,同时添加课程的正常使用,说明微服务注册调用正常。系统功能响应时间都在500ms以内,满足系统的响应时间需求。表1后台系统功能测试功能模块响应时间/ms功能是否完成添加课程378完成添加讲师236完成添加分类357完成数据统计279完成添加广告305完成表2前台系统功能测试功能模块响应时间/ms功能是否完成课程信息343完成讲师信息206完成课程评论423完成课程购买389完成用户登录452完成5结束语设计了一种基于微服务架构的在线教育平台,成功将系统拆分为资源上传、统计分析和核心应用等多个相互独立且功能专一的微型服务,这些微型服务模块运行和部署在不同的服务器上,服务之间通过协作实现了系统的课程管理、课程购买、讲师管理和用户注册登录等功能,满足了人们个性化学习的需求。该系统克服了传统单体式架构系统的缺点,部署灵活,具有良好的拓展性和稳定性,有一定的实用价值。但是功能相对少,后期将完善系统功能。参考文献:[1]黄鹏,边大成.融合化在线教育大势所趋[N].[2]2020-07-21(3).中国电子报,柴俊武,[3]究张开琦[J].中国多媒体与网络教学学报赵月.基于学习理论的在线教育平台选择与应用探,刘晓燕,王信,等.(上旬刊),2020(8):15-17.[4]统设计与应用张进猛,苏健,柴立岩[J].电子测量技术基于微服务架构的中医信息服务系.,2020,43(3):1-5.[5]研究欧阳荣彬[J].电脑知识与技术基于微服务架构的信息系统开发技术,2020,16(10):273-274.[6][J].黄嘉诚华中科技大学学报,王倩宜,龙新征,董晶.(自然科学版.基于微服务的数据服务框架设计),2016,44(S1):126-130.[7][J].方意电子设计工程基于微服务的智能档案服务系统设计与实现,朱永强,宫学庆,2018,26(2):26-30..微服务架构下的分布式事务处理[8]算机应用与软件[J].计徐琛杰周翔彭鑫赵文耘,2019,36(1):152-158.[J].计算机应用与软件,2018,35(10):85-93..面向微服务系统的运行时部署优化【通联编辑:谢媛媛】本栏目责任编辑:王力


本文标签: 系统 服务 课程 功能 架构