├── pom.xml └── src └── main ├── java └── com │ └── github │ └── distribute │ ├── lock │ ├── DistributedLock.java │ ├── redis │ │ ├── AbstractLock.java │ │ ├── OptimisticLockTest.java │ │ ├── PessimisticLockTest.java │ │ ├── RedisBasedDistributedLock.java │ │ └── RedisUtil.java │ └── zookeeper │ │ ├── BaseDistributedLock.java │ │ ├── SimpleDistributedLockMutex.java │ │ └── ZookeeperDistributeLock.java │ ├── queue │ ├── DistributedQueue.java │ ├── DistributedQueueTest.java │ └── DistributedSimpleQueue.java │ └── rpc │ ├── HelloService.java │ ├── HelloServiceImpl.java │ ├── RpcConsumer.java │ ├── RpcFramework.java │ └── RpcProvider.java └── resources └── log4j.properties /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/lock/DistributedLock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/lock/DistributedLock.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/lock/redis/AbstractLock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/lock/redis/AbstractLock.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/lock/redis/OptimisticLockTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/lock/redis/OptimisticLockTest.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/lock/redis/PessimisticLockTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/lock/redis/PessimisticLockTest.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/lock/redis/RedisBasedDistributedLock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/lock/redis/RedisBasedDistributedLock.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/lock/redis/RedisUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/lock/redis/RedisUtil.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/lock/zookeeper/BaseDistributedLock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/lock/zookeeper/BaseDistributedLock.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/lock/zookeeper/SimpleDistributedLockMutex.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/lock/zookeeper/SimpleDistributedLockMutex.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/lock/zookeeper/ZookeeperDistributeLock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/lock/zookeeper/ZookeeperDistributeLock.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/queue/DistributedQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/queue/DistributedQueue.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/queue/DistributedQueueTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/queue/DistributedQueueTest.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/queue/DistributedSimpleQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/queue/DistributedSimpleQueue.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/rpc/HelloService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/rpc/HelloService.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/rpc/HelloServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/rpc/HelloServiceImpl.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/rpc/RpcConsumer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/rpc/RpcConsumer.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/rpc/RpcFramework.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/rpc/RpcFramework.java -------------------------------------------------------------------------------- /src/main/java/com/github/distribute/rpc/RpcProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/java/com/github/distribute/rpc/RpcProvider.java -------------------------------------------------------------------------------- /src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appleappleapple/DistributeLearning/HEAD/src/main/resources/log4j.properties --------------------------------------------------------------------------------