黑马充吧----1.延迟任务 缓存 高可用

目标1:了解什么是虚拟电商,理解虚拟电商的业务特点

目标2:知道充吧项目核心模块的作用

目标3:完成系统环境的搭建及工程搭建

目标4:能够手动编写延迟任务的单机版实现

目标5:了解延迟任务的数据库方案,缓存方案,高可用方案

目标6:能够使用Mybatis-Plus开发任务表和任务日志表持久层接口

目标7:完成添加任务接口和取消任务接口的编写

电商虚拟交易功能架构

 

充吧是电商虚拟交易系统的项目实现,深挖虚拟交易自身业务和技术特点,重点实现话费充值模块,基础模块-延迟任务系统及链路追踪

话费具体业务实现了

1:mock两个供应商(实际供应商对接需要商务合作,押金一些列问题)

2:失败轮转(例如余额不足)

3 网络故障重试

4 充值失败重试 (阈值问题)

5 供应商异步回调

6 回调异常,订单状态同步相关问题

实现的效果:

 

定时任务与延迟任务的区别:

定时任务往往是固定周期的,有明确的触发时间。而延迟任务一般没有固定的开始时间,它常常是由一个事件触发的,而在这个事件触发之后的一段时间内触发另一个事件,任务可以立即执行,也可以延迟,任务之间也可以建立一定联系;

场景一: 订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单;如果期间下单成功,任务取消

场景二:接口对接出现网络问题,1分钟后重试,如果失败,2分钟重试,直到出现阈值终止

 

技术架构:

延迟任务的实现方案:

1:单机版方案:基于jdk中的定时器

2:消息中间件方案

3:自定义分布式延迟任务方案

方案没有好坏之分,和系统架构一样,关键是适合自身业务系统,不过目前IT行业发展阶段,有些市面上开源中间件已经不能满足大厂自身业务,大厂基本都是从新定制开发,所以面试时候特别强调基础,这个项目也会带着大家自定义一个分布式延迟任务,会做很多优化工作,这个中间件也在公司实际上线得到验证。

 

分布式高可用项目工程搭建

 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值