1 Star 1 Fork 0

吴梓锋 / distributed-lock

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

distributed-lock

介绍

工程内包括了分布式锁常规实现方案,包含以下内容

  • mysql
    • 锁表
    • 乐观锁
    • 悲观锁
  • zookepper
    • zookepper自实现分布式锁代码
    • curator框架下的InterProcessMutex分布式锁使用及介绍
  • redis
    • 基于jedis自实现分布式锁代码
    • redisson框架下的可重入分布式锁使用及介绍

关于该工程的代码的详细解析,请见如下链接https://blog.csdn.net/weixin_43900244/article/details/118212261

运行前准备

环境安装
1、mysql数据库(笔者版本8.0.21)
2、redis数据库(笔者版本3.2.100)
3、zookeeper安装(笔者版本3.7.0)
所有windows环境下的安装包都上传到了百度网盘: https://pan.baidu.com/s/1wSsKuS2fN7fiS8L-qONHnw 密码:zzkk

数据库表初始化
1、在mysql下创建数据库,名为:distribute_lock(这里使用navicat创建)

2、创建数据库表,名为database_lock

create table `database_lock`(
	`id` BIGINT NOT NULL AUTO_INCREMENT,
	`resource` INT NOT NULL COMMENT '锁资源',
	`description` varchar(1024) NOT NULL DEFAULT "" COMMENT '描述',
	PRIMARY KEY (`id`),
	UNIQUE KEY `resource` (`resource`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='数据库分布式锁表';

3、创建数据库表,名为database_lock_2,并且插入一条原始数据

# 创建数据库表
create table `database_lock_2`(
	`id` BIGINT NOT NULL AUTO_INCREMENT,
	`good_name` VARCHAR(256) NOT NULL DEFAULT "" COMMENT '商品名称',
	`good_count` INT NOT NULL COMMENT '商品数量',
	PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='数据库分布式锁表2';

# 插入原始数据
insert into database_lock_2 (good_name,good_count) values ('医用口罩',10);

工程内配置文件修改
1、mysql配置文件修改
resource目录下db.properties,修改driver、url、账号、密码

2、zookeeper配置文件修改
resource目录下zookeper.properties,修改zk.servers

3、redis配置文件修改
resource目录下redis.properties,修改ip、port、database、密码

运行

1、开启mysql、redis、zookepper服务
2、全部分布式锁的入口类都在对应名称目录下的event包中

  • mysql分布式锁
  • zookepper分布式锁
  • redis分布式锁

3、运行时开启并行执行选项,每次运行三个或三个以上进程

空文件

简介

主要介绍一下分布式锁以及常规的分布式锁实现方案 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/FWEM/distributed-lock.git
git@gitee.com:FWEM/distributed-lock.git
FWEM
distributed-lock
distributed-lock
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891