分布式锁
ccddsdsdfsdf
这个作者很懒,什么都没留下…
展开
-
6-Zookeeper开源客户端Curator之基本功能讲解
一、前言原来项目,还是用zk原生客户端来实现连接,分布式锁,过程复杂且容易出错,下面介绍一款开源框架Curator二、简介Curator是Netflix公司开源的一套Zookeeper客户端框架。了解过Zookeeper原生API都会清楚其复杂度。Curator帮助我们在其基础上进行封装、实现一些开发细节,包括接连重连、反复注册Watcher和NodeExistsException等。目前已...原创 2020-02-28 13:48:05 · 249 阅读 · 0 评论 -
官方redis实现分布式锁算法-RedLock
前言RedLock实际上就是redis lock官方权威的用Redis实现分布式锁管理器的算法,我们把这个算法称为RedLock一、redLock算法为了解决什么问题1、redlock算法是为了解决什么问题呢?在单redis实例实现分布式锁时,可能会出现线程A设置完锁后,master挂掉,slave提升为master,因为异步复制的特性,线程A设置的锁丢失了,这时候线程B设置锁也能够成功...原创 2020-02-25 23:39:11 · 796 阅读 · 0 评论 -
分布锁-mysql,redis,zk
为什么要用到分布锁1、多环境中才需要2、任务都需要对同一共享资源时空行写操作3、对资源访问互斥锁竞争4个步骤:1、竞争锁2、占有锁3、任务阻赛4、释放锁分布式锁几种方案及比较在实现zk锁前,先简单说明一下模版方法模式在父类中编排主流程,将步骤实现延迟到子类去实现。比如下图:在模版类中定义清点商品,计算价目,支付,送货上门主流程方法,并实现了清点商品,计算价目,送货上门...原创 2020-02-28 13:21:34 · 222 阅读 · 0 评论 -
分布式锁初探--redis锁
前言最近开发任务需要在多个时间点执行,时间点一部分由定时任务设定,一部分由mq监听来执行,但必须保证同一时间点只能有一个任务来执行。我们知道jdk自身提供的锁只能适用用单机应用,但如今分布式架构应用越来越多,多个应用部署集群时,我们可能需要某个时刻只有一个应用执行,这时就需要用到分布式锁。分布锁基本应用场景及设计案例有2个计算基金涨跌幅数据服务,一个是定时计算,一个是在每天...原创 2018-04-02 16:36:30 · 231 阅读 · 0 评论 -
分布式锁初探--数据库行锁
前言关于抢红包服务一次数据库行锁控制并发,在此记录一下,或许里面还存在很多不足。场景抢红包应用:一个红包分为100个子红包,可以有N个人来抢这个红包,这时主要保证当有大于100个人来同时抢到这个红包,只能前100名抢到,并且所分配的红包金额不能大于发放红包金额。1、发放红包发红包过程比较简单,不涉及并发,这里简单说明。 以上为发放红包简单流程。 主代码生成主红记...原创 2018-04-03 11:32:54 · 452 阅读 · 0 评论