程序员

聊聊分布式事务一

2019-03-18  本文已影响0人  瑶瑶小仙女

由于目前的项目都朝着SOA或者微服务方向发展,一个系统必定拆分成多个子系统,系统间的交互比不可少。随之而来的就是一些分布式事务的问题。那就整理整理分布式事务的知识。
1.首先咱们了解几个概念:

1、事务的理论基础(ACID)

1、atomicity:原子性,一个事务要么全部执行要么不执行。
2、consistency:一致性,事务完成前后并不会对数据的完整性进行破坏。即事务不会影响数据的约束。包括主键约束。外健约束。自定义约束等。
3、lsolation:隔离性,事务之间不影响。
4、durability:持久性,事务提交之后数据的状态是持久化的。不会随意变更。
上面是事务的理论基础:原子性、一致性、隔离性、持久性

2、Cap理论:

1、C:consistency,一致性,在分布式环境中,一致性是只多个环境中的版本一致性。
2、A:Availability:可用性,就是系统需要一直给用户提供服务,用户的请求在有效时间内必须又返回。
3、P:Partition tolerance:分区容错性,在分布式系统中,遇到网络问题系统仍然需要可以对用户提供一致性可用性的服务。除非全部的网络瘫痪。

3、Base理论:

1、ba:basic availability,基本业务可用性(支持分区失败)
2、s:soft Status:柔性状态,(状态短时间内可以不同,异步)
3、e:Eventual consistency :最终一致性,(数据保证最终一致性,但不是实时一致)保证最终一致性就可以。

在Cap理论中一个系统不可能同时满足一致性、分区容错性和可用性。在我们分布式系统的分区容错性是必须要实现,因为我们需要保证我们的应用可对外提供正常的服务。所以在根据Base理论可以采用异步方式(MQ)进行补偿的方式实现数数据一致性。和柔性状态。达到最终一致性。

上一篇 下一篇

猜你喜欢

热点阅读