随笔分类 -  分布式锁

摘要:对redisson不熟悉的,请看官网或者github上面的 在Redisson框架中,实现了红锁的机制,Redisson的RedissonRedLock对象实现了Redlock介绍的加锁算法。该对象也可以用来将多个RLock对象关联为一个红锁, 每个RLock对象实例可以来自于不同的Redisson 阅读全文
posted @ 2020-05-03 23:51 IT路上的小白 阅读(2470) 评论(0) 推荐(1)
摘要:一、Redis实现分布式锁基本原理 主要就是redis的setnx(id,value)指令 在Redis中,有一个不常使用的命令如下所示。 SETNX key value 这条命令的含义就是“SET if Not Exists”,即不存在的时候才会设置值。 只有在key不存在的情况下,将键key的值 阅读全文
posted @ 2020-05-03 23:49 IT路上的小白 阅读(1112) 评论(2) 推荐(3)
摘要:生成为唯一id一般通用方案 1. UUID:如果只考虑唯一性,是可行的。 缺点: 2. 数据库自增主键 在分布式集群中的缺点: 3. 基于redis生成全局id策略 因为Redis是单线的天生保证原子性,可以使用原子操作INCR和INCRBY来实现 4. snowflake Twitter的分布式自 阅读全文
posted @ 2020-05-03 23:48 IT路上的小白 阅读(654) 评论(0) 推荐(0)
摘要:Redisson框架十分强大,基于Redisson框架可以实现几乎你能想到的所有类型的分布式锁。这里,我就列举几个类型的分布式锁,并各自给出一个示例程序来加深大家的理解。有关分布式锁的原理细节,后续专门撸一篇文章咱们慢慢聊! 1.可重入锁(Reentrant Lock) Redisson的分布式可重 阅读全文
posted @ 2020-05-03 23:30 IT路上的小白 阅读(855) 评论(0) 推荐(0)
摘要:锁用来解决什么问题呢? 在我们编写的应用程序或者高并发程序中,不知道大家有没有想过一个问题,就是我们为什么需要引入锁?锁为我们解决了什么问题呢? 在很多业务场景下,我们编写的应用程序中会存在很多的 资源竞争 的问题。而我们在高并发程序中,引入锁,就是为了解决这些资源竞争的问题。 电商超卖问题 这里, 阅读全文
posted @ 2020-05-02 14:03 IT路上的小白 阅读(1849) 评论(0) 推荐(1)
摘要:Redis 是最流行的 NoSQL 数据库解决方案之一,而 Java 是世界上最流行(注意,我没有说“最好”)的编程语言之一。虽然两者看起来很自然地在一起“工作”,但是要知道,Redis 其实并没有对 Java 提供原生支持。 相反,作为 Java 开发人员,我们若想在程序中集成 Redis,必须使 阅读全文
posted @ 2020-05-02 14:02 IT路上的小白 阅读(1468) 评论(0) 推荐(0)
摘要:在学习zk实现分布锁之前,我们应该需要了解一些zk的知识 1、持久节点:客户端断开连接zk不删除persistent类型节点 2、临时节点:客户端断开连接zk删除ephemeral类型节点 3、顺序节点:节点后面会自动生成类似0000001的数字表示顺序 4、节点变化的通知:客户端注册了监听节点变化 阅读全文
posted @ 2020-04-30 22:01 IT路上的小白 阅读(594) 评论(0) 推荐(0)
摘要:CAP理论 在分布式领域,有一个非常重要的理论叫做CAP理论。 C:Consistency(一致性) A:Availability(可用性) P:Partition tolerance(分区容错性) 在分布式领域中,是必须要保证分区容错性的,也就是必须要保证“P”,所以,我们只能保证CP或者AP。 阅读全文
posted @ 2020-04-29 14:48 IT路上的小白 阅读(890) 评论(0) 推荐(0)
摘要:分布式锁简介: 分布式锁是控制分布式系统或不同系统之间共同访问共享资源的一种锁实现。 在集群架构中,多个JVM虚拟机之间为了保证数据的一致性 ,所以引进了分布式锁的的概念。 分布式锁的设计要求 1.在分布式系统环境下,一个方法在同一时间只能被一个机器的一个线程执行 2.高可用的获取锁与释放锁 3.高 阅读全文
posted @ 2020-04-29 13:47 IT路上的小白 阅读(193) 评论(0) 推荐(0)