瑞达无忧在线教育平台是一个提供IT职业课程在线学习的平台,它为即将和已经加入IT领域 的技术人才提供在线学习服务,用户通过在线学习、在线练习等学习内容,最终掌握所学的IT技能, 并能在工作中熟练应用。
系统主要包括如下模块:
门户:在首页、活动页、专题页等页面提供课程学习入口等功能;
学习中心:学生登录学习中心在线学习课程;
教学管理中心:教师登录教学管理中心进行课程管理、资源管理、考试管理等教学活动;
社交系统:社交系统为老师和学生交流搭建沟通的平台,包括:问答系统、评论系统、论坛等,学生和老 师 通过问答系统提问问题、回答问题,通过评论系统对老师授课进行评论;
系统管理:系统管理员登录系统管理中心进行分类管理、运维管理等功能;
搜索系统:提供课程的搜索功能;
单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息。
责任描述:
需求整理、开发框架搭建、系统设计、主要文档编写、前后台的核心代码实现。
技术描述
使用Maven进行项目构建,实现项目的统一管理;
使用FreeMarker实现网页静态化减轻数据库的访问压力;
使用MongoDB的GridFS持久化存储页面模板文件;
使用RabbitMQ,向消息队列发送页面发布的消息,是将页面发布到服务器;
使用FastDFS搭建分布式文件系统,实现文件/图片的管理;
在前后端分离架构中,服务层被拆分成了很多的微服务,Spring Cloud提供服务注册中心Eureka 来管理微服务信息;
使用Feign与Eureka和Ribbon组合使用以支持服务的负载均衡;
使用ElasticSearch搜索课程信息,搜索方式为全文检索,关键字需要匹配课程的名称、 课程内 容,搜索前端 Nuxt.js;
视频播放方案采用点播的方式,播放器使用HLS协议连接http服务器(Nginx、Apache等)实现 近实时流方式播放视频,使用FFmpeg对视频进行编码;
使用Video.js作为网络视频播放器;
通过配置容器工厂,处理多线程调用视频处理,并发处理视频;
Spring Cloud Zuul实现的微服务网关,它实现了请求路由、负载均衡、校验过 虑等 功能;
分布式事务拆分成多个本地事务来完成,由MQ按异步的方式协调完成事务。
使用docker将应用程序自动部署到容器。