Java项目培训方案·天机学堂

一、课程背景

课程名称:天机学堂

培训周期:40课时

课程背景:

2021年7月,国务院颁布《关于进一步减轻义务教育阶段学生作业负担和 校外培训负担的意见》,简称“双减”政策。在该政策影响下,多年来占据我 国教育培训行业半壁江山的课外辅导培训遭到毁灭性打击。相对的,职业教育 培训的市场规模持续增长。

职业教育的市场规模持续增长,增长率保持在12%以上,总规模即将突破 万亿,可见职业教育前景大好。职业教育培训分为有学历和非学历两大类。
天机学堂的核心业务就是非学历的职业技能培训
另外,职业教育有线上和线下之分,随着互联网发展,传统行业也逐渐网 络化发展。再加上疫情的影响,很多职业技能培训企业都开始发展在线教育。 相比于传统线下培训,在线教育有成本更低,学习时间碎片化,教育资源能充 分利用。因此,在线教育市场规模不断增长,前景巨大。

课程收获:

1. 能够学会阅读产品原型,分析需求,并且能够设计接口和数据表;

2. 运用合并写请求策略对高并发进行优化;

3. 运用DelayQueue实现延时任务;

4. 运用多级缓存(Caffeine)提高性能,减轻数据库压力;

5. 能够独立地设计点赞系统,并满足独立、并发、通用、安全等特性;

6. 运用Redis的BitMap结构来保存签到记录,减轻存储压力;

7. 运用XXL-JOB实现分布式任务调用,定时任务统一进行管理。

二、项目介绍

项目概述:

天机学堂是一个基于微服务架构的生产级在线教育项目,核心用户不是 K12群体,而是面向成年人的非学历职业技能培训平台。其业务完整度、真 实度、复杂度都非常的高,与企业真实项目非常接近。
通过天机学堂项目,你能学习到在线教育中核心的学习辅助系统、考试 系统,电商类项目的促销优惠系统等等。更能学习到微服务开发中的各种热 点问题,以及不同场景对应的解决方案。学完以后你会收获很多的“哇塞”。

项目成果:

(用户端)

(管理端后台)

(系统架构图)

(技术架构图)

(管理端核心业务流程图)

(学员端核心业务流程图))

项目亮点:

1. 对接多种支付平台;

2. 优惠券系统设计方案;

3. 库存超卖解决方案;

4. 秒杀抢购解决方案;

5. 超时订单处理方案;

6. 视频点播方案;

7. 学习辅助系统;

8. 考试评测系统;

9. 互动问答系统;

10. 通用点赞实现方案;

11. 积分系统实现方案;

12. 排行榜实现方案。

三、适合人群

1. 需要有微服务项目开发基础,熟悉springboot、springCloud (gateway、feign)等微服务框架;

2. 需要熟悉持久层框架MybatisPlus的使用;

3. 需要熟悉MySQL、redis等数据库的使用。

四、培训目标

1. 掌握基于自定义注解和Redisson的分布式锁工具

2. 掌握XXL-JOB分布式任务调度工具

3. 掌握Caffeine本地缓存工具

4. 掌握支持可靠消息、延迟消息的RabbitMQ工具、延迟队列DelayQueue

5. 掌握基于CompletableFuture和CountDownLatch的并发任务处理方案

6. 掌握高并发高精度的视频进度记录和回放解决方案

7. 掌握学习计划和学习进度统计的学习监督方案

8. 掌握通用的问答(评论)功能实现方案

9. 掌握通用、高性能的点赞系统解决方案

10. 掌握高性能、低存储成本的签到解决方案

11. 掌握实时性强、通用性好的积分排行榜、历史排行榜解决方案

12. 掌握支持大数据量、高性能校验的优惠券兑换码算法

13. 掌握基于LUA脚本的高性能、并发安全的优惠券领取解决方案(秒杀解决方案)

五、参考预习资料

获取方式:请扫描下方二维码,回复【Java】即可获取完整预习资料。

六、准备环境介绍

硬件:

1. 电脑类型:PC

2. 操作系统:win10

3. 处理器:i7以上

4. 内存: >16G

软件:

Jdk11、idea、maven、MySQL8、SQLyog(或其它数据库可视化界面)

七、课程日程安排

1月23日初识项目

  • 1. 天机学堂项目介绍
  • 2. 技术选型
  • 3. 项目环境搭建
  • 4. 修复BUG
    熟悉项目
    阅读源码
    分析解决
    测试部署

1月24日学习辅助系统

  • 1. 我的课表功能实现
  • 2. 实现自动续播
  • 3. 高并发方案
  • 4. 合并写优化
  • 5. 延时任务进行数据落盘

1月25日问答系统

  • 1. 需求和原型图分析
  • 2. 利用MP自动生成基础代码
  • 3. 跨服务调用方案
  • 4. 问题相关功能实现
  • 5. 回答相关功能实现
  • 6. 使用多级缓存

1月26日排行榜系统

  • 1. 生成实时榜单
  • 2. 查询当前赛季榜单
  • 3. 海量数据存储策略
  • 4. XXL-JOB 定时任务实现生成榜单表
  • 5. 动态表名插件

1月27日优惠券系统

  • 1. 兑换码生成算法
  • 2. 解决领取优惠券并发安全问题
  • 3. 分布式锁原理分析
  • 4. 基于LUA脚本的异步领券
  • 5. 优惠券智能推荐