分布式时系统/服务 数据一致性方案

原文:《以交易系统为例,看分布式事务架构的五大演进》http://www.tuicool.com/articles/jUVFBbb

原文结构:

  • 概述
  • 单数据库事务
  • 基于后置提交的数据库事务
  • 两段式事务
  • TCC事务
  • 最终一致性

 

介绍了分布式数据库/服务 ,数据一致性方案的演进,针对业务重要性及对一致性的要求,可使用不同的方案保证一致性。

主要有方案:

1.  XA 事务,两段式事务:prepare提交--》confirm提交

  prepare提交为重提交,成功后,confirm提交一般都会成功;

 不足:极端情况下,第二个事务的confirm失败,导致第一个事务无法回滚。

使用:主流数据库 oracle,mysql支持

 

2. TCC, TRY-CONFIRM-CANCEL 

编程模式,SOA服务提供3个接口完成事务;

不足:并发时性能较低

使用:强一致性场景

 

3. 最终一致性

概念:

强一致性: 请求结束,保证一致性;

最终一致性: 请求结束后,不保证一致性,由其它任务进行补偿/回退操作,保证一致性;

方案: 

消息队列实时触发数据补偿;

定时任务触发数据补偿;

 

 

 

 

 

 

posted @ 2017-04-19 14:28  南坡小枣  阅读(254)  评论(0编辑  收藏  举报