Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强
总时长 104:45:00 共408P
此文章包含第311p-第p314的内容
介绍
秒杀系统应该独立部署
8点开始秒杀 10点结束

秒杀价格 和 多少件(库存)
新建项目(p312)
加redis
加远程调用 openFeign
引入common并且排除seata
配置各种信息
使用@EnableDiscoveryClient开启注册功能,保证可以被服务中心发现
这里报错,找不到公共配置里的数据源,这里排除掉DataSource就行
秒杀流程
可以提前一天将需要秒杀的数据添加到缓存中,降低对服务器压力的影响
这里使用定时任务功能 上一张支付宝对账也需要使用到定时任务功能
害怕redis压力大 可以先发到mq,mq压力不大
流行的定时任务框架quartz
可以用java原生的java.util.Timer类也可以用spring支持的
整合quartz定时任务
这里年spring不支持,用前六个就行

7/5 代表第7秒的时候之后每隔5秒执行一次
*/5代表启动的时间之后每隔5秒执行一次
这里也可以使用一个cron在线生成器
@EnableScheduling开启定时任务
@Component放在容器中
spring原生Scheduling和quartz的区别
中间差了4秒 这里是阻塞的
解决方式

这里的线程池设置的线程数只有1 所以会阻塞
切记:这里有些版本好使,有些不行
异步任务
要开启@EnableAsync加上@Async 这两个注解确实可以实现异步,已测试


它们的源码位置