美文网首页
分布式事务理解总结

分布式事务理解总结

作者: 善思者_tin | 来源:发表于2019-12-30 14:20 被阅读0次

    一、概述

    单一部署系统事务处理方式比较简单,因为在同一服务器上,都在一个业务操作里面。然后多个业务操作分别部署到不同的服务器上,那么需要让这些操作要么全部成功,要么全部失败,该如何处理呢?

    二、分布式事务产生的原因

    从上面本地事务来看,我们可以分为两块:

    Service 产生多个节点

    Resource 产生多个节点

    Service 多个节点

    随着互联网快速发展,微服务,SOA 等服务架构模式正在被大规模的使用。

    举个简单的例子,一个公司之内,用户的资产可能分为好多个部分,比如余额,积分,优惠券等等。

    在公司内部有可能积分功能由一个微服务团队维护,优惠券又是另外的团队维护。

    这样的话就无法保证积分扣减了之后,优惠券能否扣减成功。

    Resource多个节点

    同样的,互联网发展得太快了,我们的 MySQL 一般来说装***的数据就得进行分库分表。

    对于一个支付宝的转账业务来说,你给朋友转钱,有可能你的数据库是在北京,而你的朋友的钱是存在上海,所以我们依然无法保证他们能同时成功。

    多个服务部署到不同的服务器上,分别使用不同的数据库,比如积分,优惠券有两个服务,分别对应不同的数据库。

    三、分布式事务解决方案

    3.1、可靠消息最终一致性方案

    事务:简单说某一个任务会操作多个数据库,要么全部执行成功,要么全部执行失败。事务具备ACID的特性,即原子性、一致性、隔离性和持久性。

    相关文章

      网友评论

          本文标题:分布式事务理解总结

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