秒杀系统实战系列(十七)解决库存热点散列的问题 前面我们介绍的秒杀系统系列主要是基础实战部分,但是对于一些细节方面的话,我们在后面的文章中来挨个梳理下。本文我们主要梳理的是库存热点散列的问题。我们先构建一个场景:电商搞或者,很多商品进行秒杀,对于同一个商品秒杀的话... Rae /微服务实战 /2024-02-27 /0 评论 /91 阅读
【分享】Spring事务回滚实战案例 概念事务定义事务,就是一组操作数据库的动作集合。事务是现代数据库理论中的核心概念之一。如果一组处理步骤或者全部发生或者一步也不执行,我们称该组处理步骤为一个事务。当所有的步骤像一个操作一样被完整地执行,我们称该事务被... Rae /微服务实战 /2024-02-18 /0 评论 /145 阅读
秒杀系统实战系列(十六)秒杀系统总结 前面我们已经完结了整个秒杀系统,不管是同步的方式还是异步的方式,相信不熟悉的同学按照这里的内容实际操作一遍之后都会很轻松的熟悉整个秒杀系统,并且能独立的编写实际的秒杀系统项目。在咱们这个演示项目里面其实还有很多细节性... Rae /微服务实战 /2023-11-10 /0 评论 /343 阅读
秒杀系统实战系列(十五)秒杀系统异步的思考 从前面的14篇秒杀相关的文章我们已经完全的实现了一个秒杀系统,但是这个大家可以看的出来,主要还是同步的请求,这种架构适合一些小型秒杀系统或者一些中型秒杀系统,如果是这两天双11的淘宝天猫这种大型系统,一般来说这种同步... Rae /微服务实战 /2023-11-10 /0 评论 /312 阅读
秒杀系统实战系列(十四)秒杀系统库存回退 在前面我们已经完成了秒杀系统的实际编码,这里还有一个环节需要操作下,就是如果有的人秒杀成功了,一般我们支付的时间是30分钟,但是此时间段内用户没有去付款,那么我们就需要把用户的订单给取消掉,并且把库存回退了,让其他用... Rae /微服务实战 /2023-11-10 /0 评论 /304 阅读
秒杀系统实战系列(十三)查询库存介绍之使用guava二级缓存 在前一篇文章《秒杀系统实战系列(十二)查询库存介绍之使用redis缓存》我们介绍了使用redis做缓存查询库存,虽然所有的链接都不用打到mysql了,但是所有的连接缺都打到redis上了,像这两天是双11期间,很多很... Rae /微服务实战 /2023-11-10 /0 评论 /329 阅读
秒杀系统实战系列(十二)查询库存介绍之使用redis缓存 在前面的文章《秒杀系统实战系列(十一)多服务之间调用的分布式事务》其实我们已经实现了对于秒杀场景的同步秒杀方法,但是还是有一些缺陷,我们从这篇文章开始挨个完善下。首先我们介绍第一个缺陷:查询库存这里查询库存的时候,我... Rae /微服务实战 /2023-11-10 /0 评论 /312 阅读
秒杀系统实战系列(十一)多服务之间调用的分布式事务 在上一篇文章我们已经完成了商品不超卖的场景。但是我们可以看到,关于事务这块,这些服务其实用的都是同一个数据库实例,在实际的业务中,可能会存在有一个用户的数据库,存放在mysql实例A上,还有一个商品的数据库存放在my... Rae /微服务实战 /2023-11-09 /0 评论 /328 阅读
秒杀系统实战系列(十)防止商品超卖 在上一篇文章《秒杀系统实战系列(九)编写基本的秒杀核心代码》我们已经编写了秒杀的核心逻辑代码,同时我们也演示了秒杀的请求,但是既然是秒杀环节,那么我们肯定是有并发请求需求的,所以我们使用apipost工具并发测试下,... Rae /微服务实战 /2023-11-09 /0 评论 /305 阅读
秒杀系统实战系列(九)编写基本的秒杀核心代码 在前面我们已经把商品展示相关的逻辑已经写好了,接着我们就来编写秒杀的核心代码。这里的核心代码其实就是以下几个步骤:1、判断当前商品的秒杀状态,例如:是否是秒杀商品,是否是秒杀时间段等,是否库存充足等。2、减商品库存... Rae /微服务实战 /2023-11-09 /0 评论 /253 阅读