📄️ 01小节:从零到一创建SpringBoot项目
说明 IDEA 和 Maven 的版本,分支的创建过程,以及我们 framework 中默认初始化内容
📄️ 02小节:基于责任链模式创建优惠券模板
讲解优惠券模板创建业务,说明创建接口数据验证存在什么样的问题,以及如何通过责任链模式进行优化
📄️ 03小节:完成优惠券模板分库分表功能
讲解分库分表背景、技术选型等方案,通过优惠券模板为切入点,说明业务代码如何完成分库分表改造
📄️ 04小节:引入日志组件优雅记录日志
引入 SpringAOP 和 SpEL 概念,通过 mzt-biz-log 框架优雅记录优惠券模板操作日志,并针对优惠券模板记录表进行分库分表操作
📄️ 05小节:基于注解实现分布式锁重复提交
通过商家创建优惠券引申出防重复提交功能,并通过注解、SpringAOP 以及分布式锁完成该功能,最终封装为组件库的通用功能
📄️ 06小节:开发优惠券增加发行量等功能
在之前的章节中我们把核心的优惠券模板创建接口讲解完了,本章节完成优惠券模板相关的其他接口:分页查询优惠券模板、查询优惠券模板详情、增加优惠券模板发行量以及结束优惠券模板
📄️ 07小节:RocketMQ5.x延时消息修改优惠券结束状态
讲解什么是消息队列和什么是 RocketMQ,并说了消息队列常见的业务场景,使用 RocketMQ5.x 任意延时消息完成优惠券到期结束功能,其中有较多的细节,希望大家多多注意
📄️ 08小节:EasyExcel解析百万Excel创建批量分发任务
为应对平台和商家的销售额提升,平台通过批量发送优惠券的方式主动推送给用户。我们开发了基于 Excel 文件的优惠券分发功能。考虑到常规的 Excel 文件解析常常导致内存占用过高和 OOM(内存溢出)问题,我们采用了 EasyExcel 解决方案以高效完成此功能
📄️ 09小节:通过线程池和延时队列优化接口响应时间
这节课我们通过线程池和 Redis 延迟队列的形式优化 EasyExcel 解析百万数据接口耗时问题,接口响应从从 5 秒提升到毫秒级
📄️ 10小节:基于模板方法重构消息发送者
通过消息队列执行即时分发任务,对于定时分发任务,使用 XXL-Job 定期扫描并将任务发送至消息队列。同时,采用模板方法设计模式抽象消息队列的发送逻辑
📄️ 11小节:开发XXL-Job执行推送定时任务
在本章节我们使用 XXL-Job 来实现定时任务的执行和分发,重点涉及到 XXL-Job 的安装、配置以及在实际业务场景中的应用。然后在 Spring Boot 项目中引入 XXL-Job 的依赖并配置相应的 Spring Bean,从而实现了定时执行优惠券分发任务的功能