文章目录
- 引言
-
- 分布式锁产生的原因:集群
- 常用的分布式锁
- 分布式锁的三种实现方式
- I ZooKeeper 简介
-
- zookeeper本质上是一个分布式的小文件存储系
- zookeeper特性:全局数据一致性
- ZooKeeper的应用场景
- 分布式锁(临时节点)
- II 基于ZooKeeper 实现一个排他锁
-
- 创建锁
- 获取锁
- 释放锁
- Apache ZooKeeper客户端
- III 分布式锁方案
-
- 非公平锁方案
- 公平锁方案
- 共享锁方案
- IV 知识扩展:死锁(Dead Lock)
-
- 危害
- 死锁的常用解决方案
引言
springCloud 脚手架项目封装功能模块:
- 多数据源
- 全局异常处理
- 日志输出打印持久化
- 鉴权授权模块
- Apache ZooKeeper(分布式锁和订阅者模式)https://zookeeper.apache.org/
- Apache JMeter是 Apache组织开发的基于Java的压力测试工具
分布式锁产生的原因:集群
- 单纯的 Lock或者Synchronize 只能解决单个JVM线程的问题—针对于单个服务的 Java 的锁
为了协调本地应用上多个线程对某一资源的访问,就要对该资源或数值变量进行加锁,以保证在多线程环境下系统能够正确地运行。在一台服务器上的程序内部,线程可以通过系统进行线程之间的通信,实现加锁等操作。
- 为了解决跨服务访问共享资源,于是就有了分布锁。
在分布式环