[分布式事务|锁|缓存]
[分布式事务|锁|缓存]
我能在河边钓一整天的鱼
欢迎来到我的酒馆
展开
-
分布式集群架构的“脑裂”问题
目录什么是假死?什么是脑裂造成脑裂问题的原因如何解决脑裂问题什么是假死?什么是脑裂在分布式集群中,我们都会采取某种机制检测主节点是否有故障,有故障的话会选举出新的主节点。假死:由于心跳超时(网络原因导致)任务leader已死,但其实leader还活着脑裂:由于假死发起了新一轮的选举,此时会出现2个leader共存。会出现有的客户端请求老leader,有的客户端请求新leader造成脑裂问题的原因1.网络的不可靠性。2.集群状态监测...原创 2020-08-23 11:43:22 · 923 阅读 · 0 评论 -
分布式事务之2PC、3PC、TCC
目录什么是2PC关系型数据库的2PC=>XA方案分布式事务框架Seata的2PC=》AT方案Seata的2PC和传统2PC比较2PC的问题什么是3PC什么是TCC什么是2PC2PC即两阶段提交协议,将整个事务流程分为两个阶段:准备阶段、提交阶段。简单来说准备阶段就执行事务代码,但不一定提交,提交阶段决定是最终提交事务还是回滚事务。为什么要简单来说?因为基于数据库的2PC和分布式框架Seata的2PC有差异,不能一概而论。关系...原创 2020-08-11 15:36:31 · 1414 阅读 · 0 评论 -
什么是分布式事务?
目录什么是事务什么是分布式事务分布式事务使用场景什么是事务我们先来回顾下什么是事务https://blog.csdn.net/Delicious_Life/article/details/105466757什么是分布式事务指的是分布式环境下不同服务之间通过网络远程协作完成的事务。传统的方式无法解决分布式事务问题:上图是一个分布式事务小例,你会想到@Transactional,这个注解是spring对数据库事务的java...原创 2020-08-11 08:59:53 · 196 阅读 · 0 评论 -
Redisson实现分布式锁
目录Redisson工作原理图Redisson工作原理1.lua脚本2.加锁3.锁互斥机制4.watch dog自动延期机制5.可重入锁机制6.释放锁机制代码实现步骤Redisson工作原理图Redisson工作原理1.lua脚本现在某个客户端要加锁,且该客户端面对是上图中的Redis Cluster集群,他会首先根据hash节点选择一台机器,紧接着会发送一段lua脚本(胶水语言)到redis上。为什么用...原创 2020-08-10 17:02:22 · 361 阅读 · 0 评论 -
分布式锁的实现思路
目录秒杀案例分布式锁应具备的条件三种方案的分布式锁基于数据库实现分布式锁基于缓存实现分布式锁基于Zookeeper实现分布式锁三种方案比较秒杀案例我们来看一个秒杀小案例,每有一个用户下单库存就-1,在单环境部署情况下,我们添加了synchronized锁,锁住扣除库存代码块,这样不会出现多线程并发导致库存数量出现重复或负数问题。但分布式部署,synchronized就无法解决此问题了,多个项目就有多个synchronized锁,锁之间会覆盖冲...原创 2020-08-10 16:19:13 · 674 阅读 · 0 评论 -
CAP理论&Base理论
目录RDBMS&NoSQLCAP理论的核心ZK与EurekaRDBMS&NoSQL关系型数据库(MySQL、Oralce、SQLServer)===》ACID原则NoSQL数据库(redis、mongdb)===》CAP原则ACID原子性、一致性、隔离性、持久性CAP强一致性、可用性、分区容错性CAP理论的核心一个分布式系统不可能同时很好的满足一致性、可用性和分区容错性这三个需求CA:单点集群,满...原创 2020-05-20 08:56:59 · 259 阅读 · 0 评论