开发者社区> 问答> 正文

分布式事务我们是不是无能为力?

提到分布式事务的解决方案,我们能想以的是就要用到消息队列+事务补偿机制,但最终有方案落地吗?我们是不是无能为力,求有经验的同学分享下。

展开
收起
熊行天下 2016-12-30 10:42:26 2582 0
5 条回答
写回答
取消 提交回答
  • 目前市面上有些分布式事务的产品, 比如阿里的GTS, 但是否要使用分布式事务要根据系统所处的场景判断。 如果要求强一致性并且并发量不高的情况下可以考虑使用这些分布式产品。 如果你的系统所处的是一个高并发的场景(比如TPS达到了几十万), 这个时候市面上的分布式事务产品很难满足需求的(很多分布式事务的产品强依赖业务底层的数据库, 高并发时底层数据库很容易成为瓶颈), 这个时候就不得不考虑使用消息队列+补偿机制来解决了。

    2019-07-17 20:38:18
    赞同 展开评论 打赏
  • 2pc有性能损失,能避免就尽量避免。分布式事务能做到最终一致就好。只需要保证,从a到b的请求,a会一直重试到成功为止,b对于a的重复请求,会做一个检测,重复请求直接返回成功。满足这两条就能实现最终一致。如果因为某种原因,在指定时间内b一直无法服务,则需要人工介入,实现数据恢复。

    2019-07-17 20:38:18
    赞同 展开评论 打赏
  • 如果追求最终一致的话,那么可以考虑MQ的事务消息,现在阿里的交易链路就是这么用的哦

    2019-07-17 20:38:18
    赞同 展开评论 打赏
  • 分布式事务,可以使用2PC,3PC,PAXOS算法实现。可以去了解一下。

    2019-07-17 20:38:18
    赞同 展开评论 打赏
  • 主要负责阿里云容器服务产品的底层服务发现系统、集群管理系统的研发,从事容器的持续交付、持续集成的方案的设计与实现。在云计算、分布式系统、图像识别与虚拟现实方向有多年的开发经验。个人博客:abandonzoo.com

    分布式事务可以最简单的使用分布式锁来实现,比如常见的服务发现系统、缓存系统redis都有类似的实现。

    2019-07-17 20:38:18
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
GTS-分布式事务全新解决方案 立即下载
基于HLC的分布式事务实现深度剖析 立即下载
GTS内刊 立即下载