我保留大量代码注释,也保留了测试文件,帮助大家更好的吸收,感兴趣的可以克隆参考学习,有不对的地方欢迎大家指正!!
- 分支说明:
- init分支包含最基础功能,所有人刚开始开发都从init分支拉取
- master分支为功能完善的完整源代码,作参考使用(这里未上传,配套资料中有)
- dev分支为本人基于init分支学习并正在开发的分支(未完成)
- 学习文档地址
- 配套资料
🌟对你有帮助的话麻烦点个星星🌟
天机学堂是一个基于微服务架构的生产级在线教育项目,核心用户不是K12群体,而是面向成年人的非学历职业技能培训平台。相比之前的项目课程,其业务完整度、真实度、复杂度都非常的高,与企业真实项目非常接近。 通过天机学堂项目,你能学习到在线教育中核心的学习辅助系统、考试系统,电商类项目的促销优惠系统等等。更能学习到微服务开发中的各种热点问题,以及不同场景对应的解决方案。学完以后你会收获很多的“哇塞”。
天机学堂目前是一个B2C类型的教育网站,因此分为两个端:
功能演示
天机学堂分为两部分:
- 学生端:其核心业务主体就是学员,所有业务围绕着学员的展开
- 管理端:其核心业务主体包括老师、管理员、其他员工,核心业务围绕着老师展开
老师核心业务 虽然流程并不复杂,但其中包含的业务繁多,例如: 课程分类管理:课程分类的增删改查 媒资管理:媒资的增删改查、媒资审核 题目管理:试题的增删改查、试题批阅、审核 课程管理:课程增删改查、课程上下架、课程审核、发布等等
可迁移的技术方案
该项目中包含的技术和解决方案主要有:
基于自定义注解和Redisson的分布式锁工具
XXL-JOB分布式任务调度工具
Caffeine本地缓存工具
支持可靠消息、延迟消息的RabbitMQ工具
JDK自带延迟队列DelayQueue
基于CompletableFuture和CountDownLatch的并发任务处理方案
高并发高精度的视频进度记录和回放解决方案
学习计划和学习进度统计的学习监督方案
通用的问答(评论)功能实现方案
通用、高性能的点赞系统解决方案
高性能、低存储成本的签到BitMap解决方案
实时性强、通用性好的ZSet积分排行榜、历史排行榜解决方案
支持大数据量、高性能校验的优惠券兑换码算法(Base32思想、新鲜值)
基于LUA脚本的高性能、并发安全的优惠券领取解决方案(秒杀解决方案)
优惠券叠加的智能推荐算法(MapReduce的思想)
基于Redis合并写请求并基于定时任务异步持久化的并发优化方案
基于Redis和MQ的异步写优化方案
基于腾讯VOD的视频加密、视频点播、视频审核、视频雪碧图功能(已实现未讲解)
包含支付宝支付、微信支付的多平台支付系统(已实现未讲解)
订单退款拆单处理方案(已实现未讲解)
以上等等
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request