分布式锁
源码小哥
这个作者很懒,什么都没留下…
展开
-
分布式锁专题-redis分布式锁小结
1.为什么需要分布式锁 在Java中,我们学习过多线程,也会学到锁。其中,锁解决的是多线程环境下,对共享资源的操作的问题。 而在分布式中,会变成一个多进程多线程的更复杂的环境。那么,这时候,我们也需要一个锁的机制,来解决共享资源的问题。独立进程中,锁可以放到进程里。多进程环境下,锁就必须放在一个通用的第三方存储空间中。这就是分布式锁。常见的场景如商品库存,MQ消息去重等,都可以通过分布式锁来解决。核心就是两个目的: 对共享资源的操作的互斥。 对共享资源的操作的串行化。 假设有两个进程,要对同一个原创 2020-12-08 12:36:03 · 227 阅读 · 0 评论 -
分布式锁专题-Redisson分布式锁实现
1.Redisson简介 Redis 是最流行的 NoSQL 数据库解决方案之一,而 Java 是世界上最流行(注意,我没有说“最好”)的编程语言之一。虽然两者看起来很自然地在一起“工作”,但是要知道,Redis 其实并没有对 Java 提供原生支持。 相反,作为 Java 开发人员,我们若想在程序中集成 Redis,必须使用 Redis 的第三方库。而 Redisson 就是用于在 Java 程...原创 2020-05-08 14:00:55 · 288 阅读 · 0 评论 -
分布式锁专题-Redis实现分布式锁
1.业务场景引入 在进行代码实现之前,我们先来看一个业务场景: 系统A是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查一下库存,确保库存足够了才会给用户下单。 由于系统有一定的并发,所以会预先将商品的库存保存在redis中,用户下单的时候会更新redis的库存。 此时系统架构如下: 但是这样一来会产生一个问题: 假如某个时刻,redis里面的某个...原创 2020-05-07 17:01:26 · 359 阅读 · 0 评论 -
分布式锁专题-Jedis实现分布式锁
1.业务场景引入 在进行代码实现之前,我们先来看一个业务场景: 系统A是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查一下库存,确保库存足够了才会给用户下单。 由于系统有一定的并发,所以会预先将商品的库存保存在redis中,用户下单的时候会更新redis的库存。 此时系统架构如下: 但是这样一来会产生一个问题: 假如某个时刻,redis里面的某个...原创 2020-05-07 15:47:45 · 539 阅读 · 0 评论 -
分布式锁专题-分布式锁入门
1.引入业务场景 业务场景一 因为小T刚接手项目,正在吭哧吭哧对熟悉着代码、部署架构。在看代码过程中发现,下单这块代码可能会出现问题,这可是分布式部署的,如果多个用户同时购买同一个商品,就可能导致商品出现 库存超卖 (数据不一致) 现象,对于这种情况代码中并没有做任何控制。 原来一问才知道,以前他们都是售卖的虚拟商品,没啥库存一说,所以当时没有考虑那么多… 这次不一样啊,这次是售卖的实体商品,那就...原创 2020-05-07 10:40:41 · 300 阅读 · 0 评论