最新 最热

微服务中 Zookeeper 的应用及原理

了解微服务的小伙伴都应该知道Zookeeper,ZooKeeper是一个分布式的,开源的分布式应用程序协调服务。现在比较流行的微服务框架Dubbo、Spring Cloud都可以使用Zookeeper作为服务发现与组册中心。但是,为什么Zookeeper就能...

2022-10-27
2

分布式锁

基于zookeeper临时有序节点可以实现的分布式锁。大致思想即为:每个客户端对某个方法加锁时,在zookeeper上的与该方法对应的指定节点的目录下,生成一个唯一的瞬时有序节点。 判断是否获取锁的方式很简单,只需要判断有序节...

2022-10-26
2

使用zookeeper原生api实现分布式锁

一种是所有节点都监听最小节点 当最小节点删除后 其他节点创建临时节点 谁创建成功 就意味获取到锁 如果客户端太多 服务端删除一个节点 服务端短时间向其他所有客户端发送大量通知 这就是羊群效应...

2022-10-25
2

redis实现分布式锁

问题:加锁的原子性不能保证 解决:使用redis的setnx 2、代码第二阶段 setnx->set if not exist:原子操作。判断带保存。

2022-10-25
2

缓存的三大问题

1. 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中,将去查询数据库,但是数据库也无此记录,并且处于容错考虑,我们没有将这次查询的null写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去...

2022-10-25
1

etcd 基础10

先进行比较,然后根据比较结果来决定是否进行后面的操作,可以用于构建分布式锁机制(协调服务)

2022-01-20
1

【数据存储】【Redis】第四章:高并发下实现分布式锁

直接上代码:大部分互联网公司实现分布式锁原理 /** * 分布式锁底层实现原理 * @return */ @GetMapping("distributedLock") public Object distributedLock(){ Str......

2021-08-10
1

【JavaP6大纲】Dubbo篇:分布式服务接口请求的顺序性如何保证?

服务 A 调用服务 B,先插入再删除。好,结果俩请求过去了,落在不同机器上,可能插入请求因为某些原因执行慢了一些,导致删除请求先执行了,此时因为没数据所以啥效果也没有;结果这个时候插入请求过来了,好,数据插入进去了,那就尴尬...

2021-04-12
1

Redisson 分布式锁的简单封装 使调用代码更简洁

2. 封装一个模板类 RedissonLockTemplate 用来调用锁, 封装一个回调类 TryLockCallback 用来包住执行的业务代码

2020-12-08
1

redis学习(二十三)

运行效果如下图所示。从图中可以看出,同一个资源在同一个时刻只能被一个线程获取,从而保证了库存数量N的递减是顺序的。

2020-09-28
1