美文网首页
分布式事务-概念篇

分布式事务-概念篇

作者: 墨渊丶丶 | 来源:发表于2018-04-26 16:30 被阅读0次

把个人理解的几个概念做了一个总结,更贴近开发工作,更直白通俗的总结(意味着不严谨,但能懂)。

ACID模型

单个关系型数据库就是用这个模型来保障高一致性和可用性的。

Atomicity原子性:一个事务中所有操作都必须全部完成,要么全部不完成。 Consistency一致性. 在事务开始或结束时,数据库应该在一致状态。 Isolation隔离层. 事务将假定只有它自己在操作数据库,彼此不知晓。 Durability. 一旦事务完成,就不能返回。

BASE理论

和ACID相反,分布式事务中我们无法做到强一致。

虽然可能不一致,但每个应用都可以根据自身的业务特点,采用适当的方式来使分布式系统数据达到最终一致性。

Basically Available基本可用。支持分区失败(e.g. sharding碎片划分数据库)

Soft state软状态 状态可以有一段时间不同步,异步。

Eventually consistent最终一致,最终数据是一致的就可以了,而不是时时高一致。

CAP原则

分布式系统中,数据一致性和响应速度是成反比的。

要想多个系统数据一致,就需要时间进行同步;要想尽快响应用户,就要接受数据不一致的情况(往往就是业务权衡)。

CAP定理是由加州大学伯克利分校Eric Brewer教授提出来的,他指出分布式WEB服务无法同时满足一下3个属性:

数据一致性(consistency):

如果系统对一个写操作返回成功,那么之后的读请求都必须读到这个新数据;如果返回失败,那么所有读操作都不能读到这个数据,对调用者而言数据具有强一致性。

1. 简单理解: 要往十个系统里每个系统都增加一条数据,每个子系统上面都进行修改成功,这样就保证了数据一致,但是时间也会延长;

服务可用性(availability):

所有读写请求在一定时间内得到响应

1. 简单理解: 上面已经说到,为了保证数据一致性,我们需要延长时间。那为了减少响应时间,我们可能先在一个系统内增加一条数据,剩下的九个系统异步去添加,这就是牺牲数据一致性,换取可用性;

分区容错性(partition-tolerance) - 可靠性:

在网络分区的情况下,被分隔的节点仍能正常对外服务,简单可理解为“可靠性”(两个系统外界看来就是整体,如果系统不能通信了,成为分区。 如果不能保证分区容错性,则节点不能正常服务,不能服务就谈不上什么事务了,所以分区容错性是肯定要保证的);

1. 分区容错性 的理解:多个系统组成一个分布式系统,外界看来这个系统是一个整体,一个区域。

2. 但是内部如果出现网络不通的问题,多个子系统就变成了孤岛,变成了多个分区,分区容错性就是指这种情况是,每个子系统要能够适应这种问题,能正常提供服务,虽然数据可能没同步到其他子系统,但总比系统不能访问要好 。

总结

分布式事务会结合上面三个概念进行实现,在实际开发中,就是根据具体业务在 数据一致性 和 服务可用性 两者之间进行权衡。

转载文档

http://bbs.dongnaoedu.com/?thread-230.htm

有兴趣可以加群交流564874569

相关文章

  • 分布式事务-概念篇

    把个人理解的几个概念做了一个总结,更贴近开发工作,更直白通俗的总结(意味着不严谨,但能懂)。 ACID模型 单个关...

  • 分布式事务

    大纲 1.本地事物 - ACID - 本地事务模型2.分布式事物 - 分布式事务概念 - 跨库事务 - 服务化事务...

  • happylifeplat-tcc

    happylifeplat-tcc 浅谈分布式事务原理及其应用场景 概念:分布式事务就是指事务的参与者、支持事务的...

  • 分布式事务 Seata(一) 理解什么是XA 2PC、3PC

    数据库事务的概念 在讲述分布式事务的概念之前,我们先来回顾下事务相关的一些概念。 事务的基本概念: 就是一个程序执...

  • 分布式事务系列

    基础理论 01、分布式事务-数据库ACID概念篇[https://www.jianshu.com/p/51492b...

  • 分布式事务解决方案总结

    分布式事务解决方案总结 1 概念 在开始前,我们先看几个概念: ACIDACID是指为保证事务的正确可靠,事务所必...

  • 解密分布式事务框架-Fescar

    1.分布式事务 在去年的时候我写过一篇关于分布式事务的文章[再有人问你分布式事务,把这篇扔给他](https://...

  • 一.分布式事务篇-事务的基础概念

    事务的ACID Atomic: 原子性,就是很多条sql,要不是一起执行成功,要么都不执行,或者都执行失败,不允许...

  • 对分布式事务、两阶段提交协议、三阶提交协议的思考

    一、分布式事务 分布式事务是指会涉及到操作多个数据库的事务。其实就是将对同一库事务的概念扩大到了对多个库的事务。目...

  • 分布式事务

    主要包括: 分布式基础 分布式事务概念介绍 2PC 和 3PC 分布式事务的具体实现方案 分布式一致性基础 数据库...

网友评论

      本文标题:分布式事务-概念篇

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