分布式事务背景分析(二)

分布式事务具体的实现框架

1.Atomikos

互联网中的分布式事务解决方案

由于在分布式事务中,由于强一致性,会导致系统性能,效率降低,分布式事务提供的ACID保证是以损害系统的可用性、性能与可伸缩性为代价的。

为什么分布式事务强一致性会导致性能损耗?

因为在分布式事务中使用的是二阶段提交协议,他在第一阶段会询问每一个子系统,做准备,如果其中任何一个子系统失败,他都会失败,而且,当子系统不断增加的时候,他的时间也会不断的累加,从而导致系统的性能大大下降

很多互联网公司选择了其他的解决方案,比如:用最终一直性代替强一致性,使用TCC事务

使用消息中间件来确保最终一致性

举例交易平台的用户账号系统和订单系统
在这里插入图片描述

最典型的就是使用eBay模式来解决分布式事务的带来的问题

eBay在设计上就不采用分布式事务,而是通过其它途径来解决数据一致性问题。其中使用的最重要的技术就是消息队列和消息应用状态表。
使用了消息队列之后,你就要思考如何避免重复消费的问题,解决重复消费的方案有:
1.使用幂等数值
2.添加一个状态字段,status=0—>status=1,为什么加个状态字段可以:
因为使用状态字段,在进行update where status=0,不会有任何的返回

猜你喜欢

转载自blog.csdn.net/sinat_30594513/article/details/88838037
今日推荐