- Zookeeper
- 分布式锁
- 创建对应的节点、消耗资源
- ZK的Watcher机制,唤醒等待、羊群效应
- 创建有序的节点
- 主要角色
- Leader:写请求的唯一处理者
- Follower:处理读请求
- Observer:无选举投票权的Follower
- 选举算法
- 先对比zxid,zxid大者胜出
- zxid一致,myid大者成为leader
- 分布式锁
- TCC - Try、Confirm、Cancel
- 分布式事务Seata
-
具体角色
- 事务协调器(TC):维护全局&分支事务的状态,驱动全局提交或回滚
- 事务管理器(TM):定义全局事务的范围,开始全局事务,提交或回滚全局事务
- 资源管理器(RM):管理分支事务正在处理的资源,与TC进行对话以【注册分支事务】并报告分支事务的状态,并【驱动分支事务的提交或回滚】
-
AT模式 - 把每个数据库当做一个 Resource,在本地事务提交时会去注册一个分支事务。
-
TCC模式 - Seata 框架把每组 TCC 接口当做一个 Resource,称为 TCC Resource。这套 TCC 接口可以是 RPC,也以是服务内 JVM 调用。第一阶段T,二三阶段CC
-
异常控制
-
空回滚 - Try未执行,Cancel执行了 - 增加事务控制表
-
幂等 - 多次调用二阶段方法 - 记录提交状态
-
防悬挂 - Cancel比Try先执行 - Try执行的时候检查二阶段是否已执行
-
-
TCC性能提升 - 同库模式
TCC性能提升 - 异步化 - 第一阶段执行完就相当于成功了,二阶段异步执行 。大促期间,用户的钱实时扣减,商户的资金非实时到账。
-
- CAP理论
- Consistency - 一致性
- Availability - 可用性
- Partition tolerance - 分区容错性
- BASE理论
- Basically Available(基本可用)
- Soft state(软状态)
- Eventually consistent(最终一致性)
Java知识框架 - 分布式
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 本文将以Spring容器为例,试图分析一下,实现一个通用的TCC分布式事务框架需要注意的一些问题。 一、TCC全局...
- 一个TCC事务框架需要解决的当然是分布式事务的管理。关于TCC事务机制的介绍,可以参考TCC事务机制简介。 TCC...