单独部署微服务,防止高流量影响其他业务
定时任务(定时扫描要上架的)
cron表达式
类@enableScheduling
方法@schedule(cron)
问题:定时时任务默认阻塞,影响下一次任务。
解决:
1、内部异步执行 Completablefuture.runAsync
2、定时任务池,修改配置文件spring.task.scheduling.pool.size .不一定好使。
3、定时任务异步执行,类增加@EnableAsync,方法增加@Async
最终方案3.
关注的问题:
单一职责,独立部署
秒杀链接加密
数据预热、快速扣减 (提前上架redis缓存)
动静分离
恶意请求拦截
流量错峰(验证码、加入购物车)
限流 熔断 降级(快速失败、限制次数)
队列削峰(进入队列,逐渐创建订单)