文章分类 - 分布式_锁
摘要:<?php namespace RedLock; class RedLock { protected $retryDelay; protected $retryCount; protected $clockDriftFactor = 0.01; protected $quorum; protecte
阅读全文
摘要:Redlock:全名叫做 Redis Distributed Lock;即使用redis实现的分布式锁; 使用场景:多个服务间保证同一时刻同一时间段内同一用户只能有一个请求(防止关键业务出现并发攻击); 官网文档地址如下:https://redis.io/topics/distlock 这个锁的算法
阅读全文
摘要:<?php /** * Created by PhpStorm. * User: Administrator * Date: 2019/7/22 * Time: 21:43 */ /** * Desc: Redis锁 * User: baagee * Date: 2019/5/4 * Time: 2
阅读全文
摘要:目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两
阅读全文
摘要:摘要:本文使用redis来实现乐观锁,并以秒杀系统为实例来讲解整个过程。 本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning 乐观锁 大多数是基于数据版本(version)的记录机制实现的。即为数据增加一个版本标识,在基于
阅读全文
摘要:摘要:本文要实现的是一种使用redis来实现分布式锁。 本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning 1、分布式锁 分布式锁在是一种用来安全访问分式式机器上变量的安全方案,一般用在全局id生成,秒杀系统,全局变量共享
阅读全文
摘要:摘要:本文要使用Zookeeper来实现一个分布式锁,是一个悲观锁。 本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning 一、锁设计 获取锁实现思路: 1. 首先创建一个作为锁目录(znode),通常用它来描述锁定的实体,
阅读全文