美文网首页
Java知识框架 - 分布式

Java知识框架 - 分布式

作者: 码畜的快乐源泉 | 来源:发表于2020-03-09 18:13 被阅读0次
  • Zookeeper
    • 分布式锁
      • 创建对应的节点、消耗资源
      • ZK的Watcher机制,唤醒等待、羊群效应
      • 创建有序的节点
    • 主要角色
      • Leader:写请求的唯一处理者
      • Follower:处理读请求
      • Observer:无选举投票权的Follower
    • 选举算法
      • 先对比zxid,zxid大者胜出
      • zxid一致,myid大者成为leader
  • TCC - Try、Confirm、Cancel
  • 分布式事务Seata
    • 具体角色

      • 事务协调器(TC):维护全局&分支事务的状态,驱动全局提交或回滚
      • 事务管理器(TM):定义全局事务的范围,开始全局事务,提交或回滚全局事务
      • 资源管理器(RM):管理分支事务正在处理的资源,与TC进行对话以【注册分支事务】并报告分支事务的状态,并【驱动分支事务的提交或回滚】
    • AT模式 - 把每个数据库当做一个 Resource,在本地事务提交时会去注册一个分支事务。


      image.png
    • TCC模式 - Seata 框架把每组 TCC 接口当做一个 Resource,称为 TCC Resource。这套 TCC 接口可以是 RPC,也以是服务内 JVM 调用。第一阶段T,二三阶段CC


      image.png
    • 异常控制

      • 空回滚 - Try未执行,Cancel执行了 - 增加事务控制表


        image.png
      • 幂等 - 多次调用二阶段方法 - 记录提交状态


        image.png
      • 防悬挂 - Cancel比Try先执行 - Try执行的时候检查二阶段是否已执行


        image.png
    • TCC性能提升 - 同库模式


      image.png
    • TCC性能提升 - 异步化 - 第一阶段执行完就相当于成功了,二阶段异步执行 。大促期间,用户的钱实时扣减,商户的资金非实时到账。

  • CAP理论
    • Consistency - 一致性
    • Availability - 可用性
    • Partition tolerance - 分区容错性
  • BASE理论
    • Basically Available(基本可用)
    • Soft state(软状态)
    • Eventually consistent(最终一致性)

相关文章

网友评论

      本文标题:Java知识框架 - 分布式

      本文链接:https://www.haomeiwen.com/subject/qitmdhtx.html