一、开源项目简介
分布式在线教育系统(education-cloud)是基于Spring Cloud Alibaba+Docker+Rancher为微服务化开发平台构建的新一代在线教育平台。集成有Ribbon、Feign、Hystrix、Skywalking服务追踪、ELK日志系统、Nacos集中管理配置和服务组件等。系统目前主要功能有课程点播功能,支持多家视频云的接入,课程附件管理功能,支持多家存储云的接入,讲师管理功能,支持讲师入驻功能,可以帮助个人或者企业快速搭建一个轻量级的在线教育平台。
二、技术栈
- 服务注册与发现:Nacos
- 熔断器:Hystrix + Turbine
- 客户端负载均衡:Ribbon
- 内部服务调用:Feign
- 网关:Spring Cloud Zuul
- 认证鉴权:JWT
- 程序监控:Spring Boot Admin / Spring Boot Actuator
- 分布式配置中心:Nacos
- 数据库:MySQL 5.7
- 部署:Docker + docker-compose
- 构建工具:Maven
- 后台 API 文档:swagger-bootstrap-ui
- 文件系统:阿里云
- 缓存:Redis
- 前端:vue
三、****系统功能
education-cloud 致力于打造一个各行业都适用的分布式在线教育系统。系统采用前后端分离模式,前台采用vue.js为核心框架,后台采用Spring Cloud Hoxton.RELEASE、Spring Cloud JWT& Spring Cloud Alibaba为核心框架。系统目前主要功能有课程点播功能,支持多家视频云的接入,课程附件管理功能,支持多家存储云的接入,讲师管理功能,支持讲师入驻功能,可以帮助个人或者企业快速搭建一个轻量级的在线教育平台。该系统具有如下特点:
- 前后端分离架构,客户端和服务端纯Token交互;
- 微服务防护,客户端请求资源只能通过微服务网关获取;
- 集成Prometheus,SpringBootAdmin,多维度监控微服务;
- 集成Spring Cloud Alibaba Nacos服务治理和集中配置管理;
- 集成Zuul网关熔断机制
- 集成Swagger接口文档 为swagger-bootstrap-ui,界面更友好,通过网关统一聚合后端微服务API文档
- 微服务Docker化,使用Docker Compose一键部署;
- 集成Skywalking APM;
- 集成ELK,集中管理日志,便于问题分析;
- 支持Kubernetes集群部署(开发中);
- 提供详细的使用文档和搭建教程 (不断完善中);
前台主要功能介绍
- 首页功能,导航模块(自定义导航设置),广告模块(自定的轮播设置),课程模块(自定义课程设置)
- 列表功能,分类模块(自定义分类设置),搜索模块(自定义搜索设置)
- 课程详情页功能,课程介绍、目录的展示和购买、播放功能等
- 个人中心,具有个人信息设置、密码修改、订单管理、学习记录等功能
- 讲师中心,讲师信息管理、课程管理(课程的添加、修改)、收益管理等功能
后台主要功能介绍
- 权限管理功能,多角色多用户自定义配置
- 系统配置功能,自定义进行站点配置及第三方参数配置
- 讲师管理功能,讲师申请入驻,后台具有审核功能
- 课程管理功能,讲师管理自有课程,后台具有审核功能
- 用户登录功能,同一时间只允许同一个账号在同一个地方登录,防止账号共享
- 广告管理功能,后台自定义广告设置,增加营销效果
- 支付功能模块,待集成微信和支付宝支付
四、源码地址
关注博主后私信“20231218”即可获取源码
版权归原作者 神码观察 所有, 如有侵权,请联系我们删除。