-
redis-44-redis migrate tool redis 迁移工具
redis-migrate-tool
redis-migrate-tool is a convenient and useful tool for migrating data between redis.
特点:
快速。
多线程。
基于redis复制。
实时迁移。
迁移过程中,源集群不影响...
2018-09-08 03:07:16 |
Distributed
-
和 chatgpt 聊了一会儿分布式锁 redis/zookeeper distributed lock
前言
最近的 chatGPT 很火爆,听说取代程序员指日可待。
于是和 TA 聊了一会儿分布式锁,我的感受是,超过大部分程序员的水平。
Q1: 谈一谈 java 通过 redis 实现分布式 锁
chatGPT:
Java通过Redis实现分布式锁,是在多个Java应用程序之间实现同步的一种方式。通过Redis的原子性和高性能,实现了分布式锁的可靠性和高效性。
具体实现步骤如...
2018-09-08 03:07:16 |
Distributed
-
java 从零实现 redis 分布式锁
点赞再看,已成习惯。
为什么需要分布式锁
在 jdk 中为我们提供了加锁的方式:
(1)synchronized 关键字
(2)volatile + CAS 实现的乐观锁
(3)ReadWriteLock 读写锁
(4)ReenTrantLock 可重入锁
等等,这些锁为我们变成提供极大的便利性,保证在多线程的情况下,保证线程安全。
但是在分布式系统中,上面的锁就...
2018-09-08 03:07:16 |
Distributed
-
Redis 分布式锁 redis lock
为什么需要分布式锁
在 jdk 中为我们提供了加锁的方式:
(1)synchronized 关键字
(2)volatile + CAS 实现的乐观锁
(3)ReadWriteLock 读写锁
(4)ReenTrantLock 可重入锁
等等,这些锁为我们变成提供极大的便利性,保证在多线程的情况下,保证线程安全。
但是在分布式系统中,上面的锁就统统没用了。
我们想要解决分布式系...
2018-09-08 03:07:16 |
Distributed
-
zookeeper-01-Apache Curator
什么是 Apache Curator?
Apache Curator 是分布式协调服务 Apache ZooKeeper 的 Java/JVM 客户端库。
Apache Curator 包括一个高级 API 框架和实用程序,使使用 Apache ZooKeeper 变得更加容易和可靠。
它还包括常见用例和扩展(例如服务发现和 Java 8 异步 DSL)的方法。
入门
学习 Zoo...
2018-09-08 02:30:55 |
Distributed
-
分布式锁-03-基于 mysql 实现分布式锁
MySQL–DB实现分布式锁思路
无论是单机锁还是分布式锁,原理都是基于共享的数据,判断当前操作的行为。
对于单机则是共享RAM内存,对于集群则可以借助Redis,ZK,DB等第三方组件来实现。
Redis,ZK对分布式锁提供了很好的支持,基本上开箱即用,然而这些组件本身要高可用,系统也需要强依赖这些组件,额外增加了不少成本。
DB对于系统来说本身就默认为高可用组件,针对一些低频的业...
2018-09-08 02:30:55 |
Distributed
-
分布式锁-01-基于 Zookeeper 实现分布式锁
Zookeeper
Zookeeper
ZooKeeper的架构通过冗余服务实现高可用性。
因此,如果第一次无应答,客户端就可以询问另一台ZooKeeper主机。
ZooKeeper节点将它们的数据存储于一个分层的命名空间,非常类似于一个文件系统或一个前缀树结构。客户端可以在节点读写,从而以这种方式拥有一个共享的配置服务,更新是全序的。
系统架构
上图为系统架构,左边区域表示...
2018-09-08 02:30:55 |
Distributed
-
分布式锁-02-SQL 数据库实现分布式锁
实现方式
基于数据库的锁实现也有两种方式,一是基于数据库表,另一种是基于数据库排他锁。
数据库表的增删
思路
具体使用的方法,当需要锁住某个方法时,往该表中插入一条相关的记录。这边需要注意,方法名是有唯一性约束的,如果有多个请求同时提交到数据库的话,数据库会保证只有一个操作可以成功,那么我们就可以认为操作成功的那个线程获得了该方法的锁,可以执行方法体内容。
执行完毕,需要delet...
2018-09-08 02:14:05 |
Distributed