基于微服务的教学支持平台服务端的设计与实现
发布时间:2021-12-16 06:54
随着“互联网+”时代的到来以及教育社会化的发展,现代高等教育教学领域急需互联网平台工具的支撑,但目前的互联网教育平台大都重新开发,基于已有平台的可集成、复用式的开发方式较为少见。思目公司目前在进行新型企业管理SaaS平台“SUPERID”的开发,“SUPERID”在技术上以微服务的形式提供了组织架构管理、人员管理、公告发布、即时通讯等与行业特性无关的通用功能,但在面向特定行业领域需求时,仍需要进行针对性的开发,因此本文所研究的教学支持平台,即在复用“SUPERID”提供的通用管理功能基础上,通过开发新的服务,来满足教育教学领域的特定需求。本文的主要工作如下:●提出了基于微服务的教学支持平台服务端的解决方案。为了保证与“SUPERID,,的技术架构的一致性与完整性,本文提出了一种在“SUPERID”已有微服务基础上进行服务复用与集成的微服务架构解决方案。●在微服务架构设计的原则下,设计并实现了教学支持平台中各业务逻辑模块。区别于传统实现微服务的方式,本文在各业务逻辑模块中集成并调用了“SUPERID”提供的基础管理api。●设计并实现了一个轻量级的数据访问框架,封装对不同数据源的存取操作...
【文章来源】:南京大学江苏省 211工程院校 985工程院校 教育部直属院校
【文章页数】:75 页
【学位级别】:硕士
【部分图文】:
图2.3?Spring?MVC原理图??SrinMVC框架中的分发器(Disatcher?Servlet)是处理访求的核心,分??
使用Feign框架,基础管理群服务群中的每个服务会以jar包的形式提供一个??FeignClient客户端,FeignClient封装了服务的api以及远程过程调用协议,服??务调用方只需依赖服务提供方的jar包,而无需关注服务间通信的细节,图3.8??展示了本系统中服务间调用的原理。??,????depend?on??http?request?'sj?(???service?A?^^T\remote?calI?service?B??、,二use??图3.8服务间调用原理图??3.3.3部署架构设计??整个平台的部署以Docker集群为核心,单个服务采用多实例部署以承载更??大的流量和提供更好的可用性,并利用Kubemetes进行Docker容器的管理。??围绕着Docker集群,系统使用logstash和Elasticsearch搭建了实时日志收集??系统,使用prometheus和grafana搭建分析和监控系统。在镜像的构建和存储??上,系统搭建了私有的gitlab库,使用webhook链接jenkins进行持续集成,编??译成docker镜像并上传到harbor本地镜像库中。系统部署架构如图3.9所示。??-*??ES?*??logstash??(^^velo^r^—?M??
并将这些信息委托给affairService维护。创建课程的过程中的其余数??据如课程编号、所属学期、学分等信息由教学支持平台维护,CourseDao来实现??负责这些字段的维护。图4.2展示了?CourseService类中createCourse()方法的??具体代码实现。???◎Override??public?long?createCourse(CourseForm?courseForm,?long?roleld,?long?deparlmentld,??long?userid)?{??List<Long>?receiverlds?=?roleService.getRoleldslnDepartWithType(departmentl??d,?UserType.STUDENT);??//获取该学院的所有学生角色??JSONObject?jsonObjeot?=?new?JSONObjectBuilder().put("course",?courseForm.??getName()).getJsonObject();??CommonMessage?commonMessage?=?msgComponent.genCommonMsg(co??urseld
【参考文献】:
期刊论文
[1]组织无边界化变革:情境与策略的匹配研究[J]. 丁雪,杨忠,张骁. 南京大学学报(哲学·人文科学·社会科学). 2017(06)
[2]Spring Boot研究和应用[J]. 王永和,张劲松,邓安明,周智勋. 信息通信. 2016(10)
[3]高等教育借助在线发展已成不可逆转的趋势——美国在线教育11年系列报告的综合分析及启示[J]. 朱永海,韩锡斌,杨娟,程建钢. 清华大学教育研究. 2014(04)
[4]在线教育的“后MOOC时代”——SPOC解析[J]. 康叶钦. 清华大学教育研究. 2014(01)
[5]学习管理系统的社会性交互功能比较——基于对Blackboard、Moodle、Sakai的调查与使用体验[J]. 张汉玉,穆肃,任友群. 现代远程教育研究. 2013(02)
[6]网络教学平台的选择和分析模型研究[J]. 王志军,余胜泉. 电化教育研究. 2012(05)
博士论文
[1]本体驱动的网络智能教学系统研究[D]. 王晓琳.华东师范大学 2009
本文编号:3537692
【文章来源】:南京大学江苏省 211工程院校 985工程院校 教育部直属院校
【文章页数】:75 页
【学位级别】:硕士
【部分图文】:
图2.3?Spring?MVC原理图??SrinMVC框架中的分发器(Disatcher?Servlet)是处理访求的核心,分??
使用Feign框架,基础管理群服务群中的每个服务会以jar包的形式提供一个??FeignClient客户端,FeignClient封装了服务的api以及远程过程调用协议,服??务调用方只需依赖服务提供方的jar包,而无需关注服务间通信的细节,图3.8??展示了本系统中服务间调用的原理。??,????depend?on??http?request?'sj?(???service?A?^^T\remote?calI?service?B??、,二use??图3.8服务间调用原理图??3.3.3部署架构设计??整个平台的部署以Docker集群为核心,单个服务采用多实例部署以承载更??大的流量和提供更好的可用性,并利用Kubemetes进行Docker容器的管理。??围绕着Docker集群,系统使用logstash和Elasticsearch搭建了实时日志收集??系统,使用prometheus和grafana搭建分析和监控系统。在镜像的构建和存储??上,系统搭建了私有的gitlab库,使用webhook链接jenkins进行持续集成,编??译成docker镜像并上传到harbor本地镜像库中。系统部署架构如图3.9所示。??-*??ES?*??logstash??(^^velo^r^—?M??
并将这些信息委托给affairService维护。创建课程的过程中的其余数??据如课程编号、所属学期、学分等信息由教学支持平台维护,CourseDao来实现??负责这些字段的维护。图4.2展示了?CourseService类中createCourse()方法的??具体代码实现。???◎Override??public?long?createCourse(CourseForm?courseForm,?long?roleld,?long?deparlmentld,??long?userid)?{??List<Long>?receiverlds?=?roleService.getRoleldslnDepartWithType(departmentl??d,?UserType.STUDENT);??//获取该学院的所有学生角色??JSONObject?jsonObjeot?=?new?JSONObjectBuilder().put("course",?courseForm.??getName()).getJsonObject();??CommonMessage?commonMessage?=?msgComponent.genCommonMsg(co??urseld
【参考文献】:
期刊论文
[1]组织无边界化变革:情境与策略的匹配研究[J]. 丁雪,杨忠,张骁. 南京大学学报(哲学·人文科学·社会科学). 2017(06)
[2]Spring Boot研究和应用[J]. 王永和,张劲松,邓安明,周智勋. 信息通信. 2016(10)
[3]高等教育借助在线发展已成不可逆转的趋势——美国在线教育11年系列报告的综合分析及启示[J]. 朱永海,韩锡斌,杨娟,程建钢. 清华大学教育研究. 2014(04)
[4]在线教育的“后MOOC时代”——SPOC解析[J]. 康叶钦. 清华大学教育研究. 2014(01)
[5]学习管理系统的社会性交互功能比较——基于对Blackboard、Moodle、Sakai的调查与使用体验[J]. 张汉玉,穆肃,任友群. 现代远程教育研究. 2013(02)
[6]网络教学平台的选择和分析模型研究[J]. 王志军,余胜泉. 电化教育研究. 2012(05)
博士论文
[1]本体驱动的网络智能教学系统研究[D]. 王晓琳.华东师范大学 2009
本文编号:3537692
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3537692.html