分布式锁实现对比

1、对比

|-----|------|----------|
| | tair | zookeper |
| 性能 | 高 | 低 |
| 可靠性 | 低 | 高 |

2、zookeper实现分布式锁

特点:

Zookeeper能保证数据的强一致性,用户任何时候都可以相信集群中每个节点的数据都是相同的。

加锁

  1. 客户端在ZooKeeper一个特定的节点下创建临时顺序节点;
  2. 客户端判断自己创建的节点是不是集合里的第一个,如果是获取锁成功;
  3. 如果否,获取锁失败,添加监听器监听对集合里的第一个节点状态进行监听;
  4. 如果节点被删除,客户端收到消息再次判断自己是不是集合中顺序第一的节点。

解锁

  1. 客户端使用完锁后删除自己的节点;
  2. 如果客户端出现问题崩溃,与ZooKeeper服务端连接断开,临时节点会被删除,锁自动释放。

3、tair实现分布式锁

复制代码
    Long setResult = tairManagerNew.setnx(key, UUID.randomUUID().toString());
    if (null != setResult && 0 == setResult.intValue()) {
         return;
    }
   tairManagerNew.expire(key, 2);
相关推荐
Jack_David3 小时前
Kafka批量消息发送
java·分布式·kafka
wanhengidc4 小时前
服务器托管对企业的作用
大数据·运维·服务器·分布式·智能手机
Code知行合壹4 小时前
Spark使用总结
大数据·分布式·spark
Swift社区4 小时前
分布式能力不是功能,而是一种架构约束
分布式·架构
0xDevNull4 小时前
Apache Kafka 完全指南
分布式·kafka
zb200641205 小时前
RabbitMQ 客户端 连接、发送、接收处理消息
分布式·rabbitmq·ruby
半桶水专家6 小时前
Kafka JMX详解
分布式·kafka
渔民小镇6 小时前
告别 if-else 地狱 —— JSR380 参数验证在 ionet 中的应用
java·服务器·分布式·游戏
智慧科技的海洋7 小时前
微电网智慧平台:破解能源困局的分布式能源革命
分布式·能源
深蓝轨迹7 小时前
Redisson 分布式锁复习总结
分布式