I-Love-China / distributed-transaction-process-typist

分布式事务解决方案

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

分布式事务解决方案

常见的解决方案有:可靠消息最终一致性、最大努力通知型、TCC补偿性,项目示例基于Spring Cloud实现可靠消息最终一致性和TCC补偿性。

模块说明

  • ms-core:公共模块
  • ms-discovery-eureka:服务注册与发现
  • reliable-message-transaction:可靠消息最终一致性的示例
  • tcc-transaction:TCC补偿性的示例

待补充最大努力通知型

解决方案

1.可靠消息最终一致性

服务模式

  • 可查询操作
  • 幂等操作

约束

被动方的处理结果不影响主动方的处理结果,被动方的消息处理操作是幂等操作

适用范围

  • 消息数据独立存储、独立伸缩,降低业务系统与消息系统间的耦合
  • 对最终一致性时间敏感度较高,降低业务被动方实现成本

2. 最大努力通知型(定期校对)

服务模式

  • 可查询操作
  • 幂等操作

约束

被动方的处理结果不影响主动方的处理结果

适用范围

  • 对业务最终一致性的时间敏感度低
  • 跨企业的业务活动

TCC 补偿事务

服务模式

  • TCC操作
  • 可补偿操作
  • 可查询操作
  • 幂等操作

适用范围

  • 强隔离性、严格一致性要求的业务活动
  • 适用于执行时间较短的业务(比如处理账户、收费等业务)

注意

例子注重展示如何实现,没有考虑性能问题,相关的优化需自行实现。

About

分布式事务解决方案

License:MIT License


Languages

Language:Java 95.9%Language:TSQL 3.6%Language:HTML 0.5%