如果文章中有不准确的地方,欢迎留言指正。
#.电商业务场景解决方案#
1.订单到期关闭#
1.1 定时任务(该项目使用的方案)#
- 使用定时任务,定期扫描订单表,查询过期的订单
- 改订单状态为关闭
- 执行解除锁定的库存,返还积分等操作
缺点:订单到期后不能及时关闭,及时性较差,并且如果订单量大,会对数据库造成不小的压力。
1.2 RocketMQ 延迟消息#
- 创建订单时,发送延迟消息,设置延迟时间
- 延迟消息到期时,就可以被消费者消费,执行关闭操作
优点:延迟消息到期后,可以及时关闭订单,及时性高,并且不会对数据库造成太大的负载。
1.3 其他方案#
- Redisson 延迟队列
- Kafka 时间轮
- Redis 过期监听功能
1.Spring Boot Admin#
Spring Boot Admin 是一个用于监控 Spring Boot 应用程序的工具,可以监控实例的各项指标,例如 JVM,Bean,配置信息,包括定时任务等等。
分为客户端和服务端,被监控的应用作为客户端,服务端作为监控中心。若不使用注册中中心,需要在客户端显式指定服务端地址;如果使用注册中心,服务端会监控注册中心中的所有服务实例。