Redisson源碼解讀-分散式鎖

  • 2022 年 11 月 7 日
  • 筆記

前言 Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。Redisson有一样功能是可重入的分布式锁。本文来讨论一下这个功能的特点以及源码分析。 前置知识 在讲Redisson,咱们先来聊聊分布式锁的特点以及Redis的发布/订阅机制, …

Continue Reading

Docker安裝canal、mysql進行簡單測試與實現redis和mysql快取一致性

一、简介 canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析 ,提供 增量数据订阅和消费 。 早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据 …

Continue Reading

Springboot中使用Redisson實現分散式鎖

  • 2021 年 10 月 10 日
  • 筆記

1. 概述 老话说的好:便宜没好货,有价值的商品,即使再贵,也有人会买。 言归正传,今天继续讨论有关“锁”的话题,synchronized 和 ReentrantLock 大家应该都非常熟悉了,但这两个锁,作用域仅限制于单个Tomcat,如果使用了 Tomcat 集群,这两个锁就不管用了。 此时我们 …

Continue Reading

Redisson 分散式鎖源碼 09:RedLock 紅鎖的故事

  • 2021 年 7 月 12 日
  • 筆記

前言 RedLock 红锁,是分布式锁中必须要了解的一个概念。 所以本文会先介绍什么是 RedLock,当大家对 RedLock 有一个基本的了解。然后再看 Redisson 中是如何实现 RedLock 的。 在文章开头先说明 Redisson RedLock 建议不要使用!!! 在文章开头先说明 …

Continue Reading

Redisson 分散式鎖實現之源碼篇 → 為什麼推薦用 Redisson 客戶端

开心一刻 一男人站在楼顶准备跳楼,楼下有个劝解员拿个喇叭准备劝解 劝解员:兄弟,别跳 跳楼人:我不想活了 劝解员:你想想你媳妇 跳楼人:媳妇跟人跑了 劝解员:你还有兄弟 跳楼人:就是跟我兄弟跑的 劝解员:你想想你家孩子 跳楼人:孩子是他俩的 劝解员:死吧,妈的你活着也没啥价值了 前言 关于锁,相信大 …

Continue Reading

Redisson 分散式鎖源碼 02:看門狗

前言 说起 Redisson,比较耳熟能详的就是这个看门狗(Watchdog)机制。 本文就一起看看加锁成功之后的看门狗(Watchdog)是如何实现的? 加锁成功 在前一篇文章中介绍了可重入锁加锁的逻辑,其中 RedissonLock#tryAcquireAsync 方法是进行异步加锁的逻辑。 回 …

Continue Reading

Redisson 分散式鎖源碼 01:可重入鎖加鎖

前言 相信小伙伴都是使用分布式服务,那一定绕不开分布式服务中数据并发更新问题! 单系统很容易想到 Java 的各种锁,像 synchronize、ReentrantLock 等等等,那分布式系统如何处理? 当然是使用分布式锁。 如果小伙伴不知道什么是分布式锁,那推荐看看石杉老师的 突击课 或者在网上 …

Continue Reading

Redisson 分散式鎖實現之前置篇 → Redis 的發布/訂閱 與 Lua

  • 2021 年 6 月 16 日
  • 筆記

开心一刻 我找了个女朋友,挺丑的那一种,她也知道自己丑,平常都不好意思和我一块出门 昨晚,我带她逛超市,听到有两个人在我们背后小声嘀咕:“看咱前面,想不到这么丑都有人要。” 女朋友听后,羞的满脸通红,我想女朋友虽然丑但是对我很好,我不会嫌弃她的 后面两个人继续嘀咕:“是啊,那男人真丑!” 卧槽,小丑 …

Continue Reading