比尔萄堡

上帝说: “要有光” 于是,就有了光。


  • 首页

  • 归档

  • 关于我

  • 公益404

  • 搜索

2PC 3PC TCC

时间: 2022-06-29 分类: 我的小脑/分布式   字数: 406 字 阅读: 1分钟 阅读次数:

分布式事务,是为了解决微服务架构下的数据一致性的问题

2PC: - prepare - commit 协调者有超时限制,参与者没有。

无法处理的异常:如果 coordinator 和 某一个participant 都失败时,若该participant已经收到commit消息其进行了提交,而其他participant还未收到commit消息,则会出现数据不一致。

3PC: - CanCommit - PreCommit - DoCommit 减少了2PC的数据不一致的可能性。 若发生coordinator 和一个 participant 都失败的情况,当coordinator恢复的时候,查询其他 participant 的状态,如果发现有 participant 在commit的阶段,则会推测上一个coordinator在crash前,做出了DoCommit操作,则它会继续引导完成该阶段。如果发现有 participant 还没收到PreCommit消息,则可以推测在完成 PreCommit之前就crash了,那么会废弃这次事务。

缺点: - 需要更长的时间(RTTs) - 理论假定有限的延迟,而实际情况延迟可能无限

TCC: - try - commit - cancel

Three-phase commit protocol

#分布式# #一致性#

标题:2PC 3PC TCC

作者:训导主任林作栋

声明: 本博客文章除特别声明外,均采用 CC BY-NC-SA 3.0许可协议,转载请注明出处!

创作实属不易,如有帮助,那就打赏博主些许茶钱吧 ^_^
WeChat Pay

微信打赏

Alipay

支付宝打赏

长连接 短连接
top 命令
训导主任林作栋

训导主任林作栋

戏谑的码农,北野武的拥趸,李安的迷弟,伍佰的Fans

55 日志
23 分类
62 标签
豆瓣
友情链接
  • Obsidian
  • V2EX
  • 关注黑客与极客
  • 廖雪峰
标签云
  • Linux 6
  • K8s 5
  • 数据库 5
  • Golang 4
  • Etcd 3
  • Mysql 3
  • Ai 2
  • Gitlab 2
  • Postgres 2
  • 前端 2
© 2010 - 2024 比尔萄堡
Powered by - Hugo v0.58.2 / Theme by - NexT
/
Storage by Vercel / 刘 ICP 备 18047355 号
0%