秒杀系统实战系列(十六)秒杀系统总结 前面我们已经完结了整个秒杀系统,不管是同步的方式还是异步的方式,相信不熟悉的同学按照这里的内容实际操作一遍之后都会很轻松的熟悉整个秒杀系统,并且能独立的编写实际的秒杀系统项目。在咱们这个演示项目里面其实还有很多细节性... Rae /微服务实战 /2023-11-10 /0 评论 /180 阅读
秒杀系统实战系列(十五)秒杀系统异步的思考 从前面的14篇秒杀相关的文章我们已经完全的实现了一个秒杀系统,但是这个大家可以看的出来,主要还是同步的请求,这种架构适合一些小型秒杀系统或者一些中型秒杀系统,如果是这两天双11的淘宝天猫这种大型系统,一般来说这种同步... Rae /微服务实战 /2023-11-10 /0 评论 /166 阅读
秒杀系统实战系列(十四)秒杀系统库存回退 在前面我们已经完成了秒杀系统的实际编码,这里还有一个环节需要操作下,就是如果有的人秒杀成功了,一般我们支付的时间是30分钟,但是此时间段内用户没有去付款,那么我们就需要把用户的订单给取消掉,并且把库存回退了,让其他用... Rae /微服务实战 /2023-11-10 /0 评论 /169 阅读
秒杀系统实战系列(十三)查询库存介绍之使用guava二级缓存 在前一篇文章《秒杀系统实战系列(十二)查询库存介绍之使用redis缓存》我们介绍了使用redis做缓存查询库存,虽然所有的链接都不用打到mysql了,但是所有的连接缺都打到redis上了,像这两天是双11期间,很多很... Rae /微服务实战 /2023-11-10 /0 评论 /186 阅读
秒杀系统实战系列(十二)查询库存介绍之使用redis缓存 在前面的文章《秒杀系统实战系列(十一)多服务之间调用的分布式事务》其实我们已经实现了对于秒杀场景的同步秒杀方法,但是还是有一些缺陷,我们从这篇文章开始挨个完善下。首先我们介绍第一个缺陷:查询库存这里查询库存的时候,我... Rae /微服务实战 /2023-11-10 /0 评论 /165 阅读
秒杀系统实战系列(十一)多服务之间调用的分布式事务 在上一篇文章我们已经完成了商品不超卖的场景。但是我们可以看到,关于事务这块,这些服务其实用的都是同一个数据库实例,在实际的业务中,可能会存在有一个用户的数据库,存放在mysql实例A上,还有一个商品的数据库存放在my... Rae /微服务实战 /2023-11-09 /0 评论 /178 阅读
秒杀系统实战系列(十)防止商品超卖 在上一篇文章《秒杀系统实战系列(九)编写基本的秒杀核心代码》我们已经编写了秒杀的核心逻辑代码,同时我们也演示了秒杀的请求,但是既然是秒杀环节,那么我们肯定是有并发请求需求的,所以我们使用apipost工具并发测试下,... Rae /微服务实战 /2023-11-09 /0 评论 /161 阅读
秒杀系统实战系列(九)编写基本的秒杀核心代码 在前面我们已经把商品展示相关的逻辑已经写好了,接着我们就来编写秒杀的核心代码。这里的核心代码其实就是以下几个步骤:1、判断当前商品的秒杀状态,例如:是否是秒杀商品,是否是秒杀时间段等,是否库存充足等。2、减商品库存... Rae /微服务实战 /2023-11-09 /0 评论 /130 阅读
利用注解的方式使用Redisson分布式锁 其实我们在前面已经演示过使用redisson来实现分布式锁了,详情见:《Spring Cloud微服务项目模板系列(十)Redisson分布式锁》。由于最近在编写秒杀的演示项目,里面也会使用到分布式锁,这里我们想着使... Rae /微服务实战 /2023-11-08 /0 评论 /136 阅读
秒杀系统实战系列(八)商品列表展示查询 前面我们介绍了一下商品列表相关的基础信息,本文的话,我们来实现一下具体的商品列表展示查询。前面我们介绍过商品查询列表是同时包含普通商品和秒杀商品的,因此这里我们要来设计到商品和秒杀商品,这里我们的设计如下:首先我们有... Rae /微服务实战 /2023-11-02 /0 评论 /210 阅读