技术架构

- 用户层
- 用户层描述了本系统所支持的客户端用户有哪些,本项目目前为各用户提供服务,包括H5、PC、Android和IOS等。
- 内容分发网络CDN
- 系统所有静态资源全部通过CDN加速来提高访问速度。系统静态资源包括:html页面、js文件、css文件、image图片、pdf和ppt及doc教学文档、video视频等。
- 负载均衡
- 系统的CDN层、UI层、服务层及数据层均设置了负载均衡服务,系统采用LVS+Nginx实现负载均衡均衡。
- UI层
- UI层描述了系统向pc用户、app用户、h5用户提供的产品界面。本项目在PC和H5端采用vue.js+elementUI实现。
- 微服务层
- 系统服务分类三类:前端服务、后端服务及系统服务。
- 前端服务:主要为学习用户提供学习服务。
- 后端服务:主要为管理用户提供教学管理服务。
- 系统服务:公共服务,为系统的所有微服务提供公共服务功能。
- 外部系统接口
- 1)第三方登录接口,如QQ、微博、微信等。 2)支付宝、微信支付接口 3)短信接口 (阿里大于)4)邮件接口,通过smpt邮件服务器对外发送电子邮件。 5)微信公众号 6)点播、直播。 7)OSS存储 8)CDN,使用最里云CDN服务加速视频访问速度。
- DevOps
- Eureka服务治理中心:提供服务治理服务,包括:服务注册、服务获取等。
- Docker容器化部署服务:将本系统所有服务采用容器化部署方式。
- Maven项目管理工具:提供管理项目所有的Java包依赖、项目工程打包服务。
- Git/GitLab代码管理服务:提供git代码管理服务。
- Spring Boot Admin服务健康监控:监控微服务的健康状态、会话数量、并发数等。
微服务技术栈
- 基于Spring Boot构建,采用Spring Cloud微服务框架。
- 数据层:MySQL、MonoDb
- 持久层:MySQL、MongoDB、Redis、ElasticSearch
- 数据访问层:Spring Data JPA、Mybatis、 Spring Data Mongodb
- 业务层:Spring IOC、AOP事务控制、Spring Task任务调度、Feign、Ribbon、Spring AMQP、Spring Data Redis数据缓存、Spring RabbitTemplate 消息队列、ElasticSearch搜索等。
- 控制层:Spring MVC、FastJSON、RestTemplate、Spring Security Oauth2+jwt、swagger等
- 微服务治理:Eureka、Zuul、Hystrix、Spring Cloud Config等
相关文章: