- 博客(283)
- 收藏
- 关注

原创 图解Redisson如何实现分布式锁、锁续约?
Redisson实现分布式锁案例、Redisson连接Redis的四种方式、Redisson分布式锁用到的Redis命令/ LUA脚本语义,RLock详述,Redisson分布式锁加锁流程,RedisCluster集群中应该加锁到哪个master节点,详述看门狗机制/锁续约,可重入锁机制,锁竞争处理方式,Redisson分布式锁释放流程(包括:主动释放、主动强制释放、Client宕机被动释放、不启动锁续约的超时释放)
2022-12-13 07:30:00
9037
69

原创 图解curator如何实现zookeeper分布式锁
curator提供的四种分布式锁概述(InterProcessMutex、InterProcessSemaphoreMutex、InterProcessReadWriteLock、InterProcessMultiLock),Zookeeper分布式锁实现思路,Zookeeper分布式锁解决的问题,Zookeeper分布式锁优缺点,InterProcessMutex实现zookeeper分布式原理/源码解析,图解curator解锁 / 解锁流程
2022-12-05 07:30:00
8454
77

原创 Zookeeper(curator)实现分布式锁案例
Zookeeper下载安装、Zookeeper常用命令、zookeeper实现分布式锁案例、curator实现分布式案例、zookeeper实现分布式锁思想
2022-11-29 20:02:24
9181
45

原创 源码深度剖析Spring Cloud Gateway如何处理一个请求只能那么细了
史无前例最详细版源码剖析Spring Cloud Gateway如何处理一个请求?含:ReactorHttpHandlerAdapter接收请求、HttpWebHandlerAdapter解析请求、WebFilterChain做Web层面的过滤、DispatcherHandler处理请求、RoutePredicateHandlerMapping获取Route路由规则、核心过滤器链FilterWebHandler最后过滤请求............
2022-07-28 07:37:53
15224
195

原创 这些年遇到的RocketMQ消息消费超时/消费异常重试机制导致的重复消费问题(并发消费和顺序消费)源码分析
图文详述并发消费模式和顺序消费下RocketMQ消息消费超时、消息消费出现异常时的重试机制原理、源码
2022-01-24 20:35:03
7480
23

原创 图文详述Eureka的缓存机制/三级缓存
一、三级缓存概要1、三级缓存分别是什么?一级缓存(注册表)ConcurrentHashMap二级缓存(ReadWriteMap)guava#LoadingCache三级缓存(ReadOnlyMap)ConcurrentHashMap注册一个服务实例向注册表中写入服务实例信息,并使得二级缓存失效寻找一个服务从三级缓存中找,如果有则返回,如果没有则去二级缓存拿并更新,如果二级缓存已经失效,触发guava的回调函数从注册表中同步。数据同步定时器每 30s 从二级缓存向三级缓存同步数据二级缓存
2022-01-10 19:19:15
5660
18
原创 Zookeeper生产常用命令大全(最新3.8.0版本)
Zookeeper服务端命令、Zookeeper客户端端操作命令(create、set、get、ls、stat、delete、deleteall)、监听器watcher相关命令、zookeeper3.6.0版本开始支永久的监听器(addWatch、removewatches)、zookeeper永久监听器的两种模式。
2022-12-20 08:23:40
4772
40
原创 学会IDEA这些断点操作,生产问题解决的越来越快了
断点类型:line breakpoints、field breakpoints、method breakpoints、exception breakpoints;断点静音、断点删除;断点属性配置:Enabled、Suspend、Condition、Log、Remove once hit、Disable until hitting the following breakpoint、Pass count;断点状态;Stream的debug调试;remote debug;
2022-12-16 17:57:17
3849
14
原创 Seata XA模式概述+案例
XA协议介绍?为什么要使用Seata XA模式?XA模式的优缺点?Seata XA模式介绍、Seata XA模式集成案例
2022-12-02 13:19:26
6413
13
原创 1267 - Illegal mix of collations(MySQL连表查询报错)
1267 - Illegal mix of collations(MySQL连表查询报错)
2022-11-24 14:47:51
563
9
原创 SpringBoot项目扫描不到其他SpringBoot项目jar包下类的问题(maven插件导致)
SpringBoot项目扫描不到其他SpringBoot项目jar包下类的问题(maven插件导致)
2022-11-18 15:12:45
482
8
原创 详述分布式事务Seata TCC空回滚/幂等/悬挂问题、解决方案(seata1.5.1如何解决?)
1、Seata TCC空回滚、幂等、悬挂问题描述、问题出现原因、通用解决措施。2、seata1.5.1新版本如何兼容解决TCC空回滚、幂等、悬挂问题的。解决方案目前是唯一的:* 增加事务控制表,核心三个字段:全局事务ID(tx_id)、分支事务ID(branch_id)、状态(status);* TCC分支事务状态,包含四种状态:已尝试、已提交、已回滚、空悬挂。* try() 时插入记录;cancel() 时有记录则更新记录状态、没有记录则插入数据;confirm() 时更新记录状态。
2022-11-16 07:45:45
3509
35
原创 分布式事务Seata源码解析13:TCC事务模式实现原理
1、TCC事务模式实现原理;2、TCC资源TCCResource解析;3、TCCResource注册到TC的流程;4、TCC执行上下文BusinessActionContext详解;5、TCC分支事务执行流程、ActionInterceptorHandler解析;6、@LocalTCC使用原理、@TwoPhaseBusinessAction使用原理、@BusinessActionContextParameter使用原理;7、TCC分支事务提交、回滚原理。
2022-11-10 19:00:00
4880
26
原创 Spring Cloud整合Seata实现TCC分布式事务模式案例(含源码)
1、Spring Cloud整合Seata实现TCC分布式事务模式案例;2、TCC分布式事务模式介绍3、Seata Tcc模式结合JPA使用时,cancel() / commit()方法中的update/delete/insert类型的SQL语句未执行问题分析、解决。
2022-11-08 07:30:00
5906
79
原创 分布式事务Seata源码解析12:全局事务执行流程之全局事务回滚
1、@GlobalTransactional中配置异常回滚类型rollbackFor、异常不回滚类型noRollbackFor的原理?2、全局事务执行流程之全局事务回滚流程?3、seata RM如何根据undo log内容构建回滚SQL,回滚分支事务?
2022-11-04 07:45:00
3411
35
原创 【算法100天 | 17】手撕堆,使插入、删除任意元素的时间复杂度为O(logn)(Java实现)
手撕堆,使插入、删除任意元素的时间复杂度为O(logn)(Java实现)
2022-11-03 23:00:10
356
3
原创 分布式事务Seata源码解析11:全局事务执行流程之两阶段全局事务提交
1、seata client(TM)发起全局事务提交的流程;GlobalCommitRequest如何发送、处理的?2、seata server(TC)处理全局事务提交的流程;seata server / TC如何处理异步全局事务提交?3、TC如何清理全局锁、TC如何清理undo_log日志、TC如何删除branch_table分支事务数据、TC如何删除global_table全局事务数据?
2022-11-01 13:00:12
1717
69
原创 分布式事务Seata源码解析十:AT模式回滚日志undo log详细构建过程
AT模式下undo log的构建 和 持久化是分两阶段进行的:* **一阶段:** * 在执行业务SQL的同时,会根据业务SQL构建出before image 和 after image镜像数据的查询SQL; * 基于查询SQL的结果,每一列的数据采用`Field`对象存储、每一行数据采用`Row`对象存储,Row和Field对象的关系为一对多; * 由于业务SQL可能设计到多行,所以最终数据镜像采用`TableRecords`对象存储,TableRecords和Row也是一对多
2022-10-24 19:59:43
2859
87
原创 分布式事务Seata源码解析九:分支事务如何注册到全局事务
1、Seata中分支事务如何注册到全局事务中?2、BranchRegisterRequest、SessionHolder、GlobalSession、BranchSession、LogStore介绍3、全局锁的加锁、锁冲突检查
2022-10-22 07:30:00
832
36
原创 mysql特殊语法insert into .. on duplicate key update ..使用详解
mysql特殊语法insert into .. on duplicate key update ..使用详解
2022-10-21 17:48:13
1134
1
原创 分布式事务Seata源码解析八:本地事务执行流程(AT模式下)
1、SeataDataSourceProxy、DataSourceProxy、ConnectionProxy、StatementProxy、PreparedStatementProxy介绍;2、Seata本地事务执行入口、整体流程?3、Seata本地事务提交流程?4、Seata全局锁冲突重试机制LockRetryPolicy?
2022-10-19 14:06:10
1410
84
原创 org.apache.dubbo.remoting.RemotingException: Data length too large: 14931980, max payload: 8388608
SpringBoot中集成Dubbo,在application.yml文件中调整dubbo max payload配置。 报错org.apache.dubbo.remoting.RemotingException: Data length too large: 14931980, max payload: 8388608 解决方案
2022-10-18 15:59:55
712
原创 【算法100天 | 11】用栈实现队列、用队列实现栈系列问题
1、实现一个栈,在基本功能的基础上,实现返回栈中最小元素的功能,要求时间复杂度为O(1);2、用栈实现队列数据结构;3、用队列实现栈数据结构
2022-10-13 07:00:00
315
6
原创 【微服务39】分布式事务Seata源码解析七:图解Seata事务执行流程之开启全局事务
源码分析Seata事务执行流程;源码分析Seata如何开启一个全局事务;Seata全局事务不会被开启的情况;Seata六种事务隔离级别的具体逻辑;TM如何请求TC开启全局事务;TC接收到TM的请求如何开启全局事务;TC开启全局事务时都做了什么;
2022-10-12 07:19:17
1126
108
原创 【算法100天 | 10】位运算找出仅出现奇数次的数字系列问题
1、编写一个函数,不用临时变量,直接交换numbers = [a, b]中a与b的值;2、一个数组中有一个数出现了奇数次,其他数都出现了偶数次,找出这个只出现了奇数次的数;3、一个数组中有两个数出现了奇数次,其他数都出现了偶数次,找到出现奇数次的两个数;4、一个数组中,有一个数出现了K次,其他数都出现了M次(M > 1, K < M);找到仅出现了K次的数;要求:空间复杂度为O(1)、时间复杂度为O(n)。
2022-10-10 16:58:25
295
6
原创 【算法100天 | 8】二叉树特点相关笔试题目(镜面树、搜索树、平衡树、树深度....)
1、判断两棵树是否结构相同(LeetCode 100)2、判断一颗树是否为镜面树(LeetCode 101)3、验证二叉搜索树(LeetCode 98)4、判断是否是平衡搜索二叉树(LeetCode 110)5、二叉树的最大深度(LeetCode 104)
2022-09-26 20:34:01
679
14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人