综合对比5种分布式事务最终一致性解决方案,哪种更好用?

Posted java版web项目

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了综合对比5种分布式事务最终一致性解决方案,哪种更好用?相关的知识,希望对你有一定的参考价值。

最近过得挺酸爽,刚跳槽就碰上服务拆分,有几个“天坑”要填,当然了,看在钱的份上,也完全没在怕的(踩的坑多了也就没坑了)。



01



我只要跨过这些技术门槛,

就什么都不怕了!


大家伙儿都知道微服务改造有一定的技术门槛,跨过了就海阔天空!空口无凭,咱们先来捋一捋有哪些坑,为了保护自己的头发,能提前躲的坑咱就先躲!
 
我们考虑下以下场景 ,在电商平台下一个订单,下单成功后会跳到支付平台,支付成功后会更新库存数据,然后我就等着收获了。

综合对比5种分布式事务最终一致性解决方案,哪种更好用?

但如果支付时候银行扣款成功了,电商平台返回结果时网络故障了,没能返回正确信息,那电商平台会认定支付失败,就不给我发货了,可我钱已经被扣了!
 
这种情况下,要是能把平台和银行这整个支付流程放到一个事务里就好了。这就会产生 2个问题
1、作为电商平台,银行的代码是不由我控制的,我怎样才可以把它的代码和我的代码放到一个事务里面呢?
2、目前的事务都是基于单数据库的本地事务,目前的数据库仅支持单库事务,并不支持跨库事务,如何能做到多数据的事务呢?



02



一个普遍且巨大的痛点:强一致和高可用


真实业务场景中这样的情况非常多,分布式事务的理论就此诞生,CAP/BASE理论作为指导实践的主流方法论发挥价值,解决服务化后的诸多难题。
 
分布式事务一个普遍且巨大的痛点是强一致和高可用,基于不同的一致性需求产生了不同的分布式事务解决方案,追求强一致的两阶段提交、追求最终一致性的柔性事务和事务消息等等。

以上是关于综合对比5种分布式事务最终一致性解决方案,哪种更好用?的主要内容,如果未能解决你的问题,请参考以下文章

5 种分布式事务最终一致性解决方案,一次性说清了!

分布式事务之解决方案(可靠消息最终一致性)

面试官问:微服务下有几种保证分布式事务最终一致性的方案?

阿里 P8 聊分布式事务最终一致性的 6 种解决方案

分布式事务常见解决方案与最终一致性

6种分布式事务最终一致性解决方案,一次性说清了!