# distributed-transaction **Repository Path**: atuptown/distributed-transaction ## Basic Information - **Project Name**: distributed-transaction - **Description**: 分步事务,最终一致性与tcc - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-15 - **Last Updated**: 2022-06-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 分布式事务解决方案 常见的解决方案有:可靠消息最终一致性、最大努力通知型、TCC补偿性,项目示例基于`Spring Cloud`实现可靠消息最终一致性和TCC补偿性。 ## 模块说明 - ms-core:公共模块 - ms-discovery-eureka:服务注册与发现 - reliable-message-transaction:可靠消息最终一致性的示例 - tcc-transaction:TCC补偿性的示例 > 待补充最大努力通知型 ## 解决方案 ### 1.可靠消息最终一致性 #### 服务模式 - 可查询操作 - 幂等操作 #### 约束 被动方的处理结果不影响主动方的处理结果,被动方的消息处理操作是幂等操作 #### 适用范围 - 消息数据独立存储、独立伸缩,降低业务系统与消息系统间的耦合 - 对最终一致性时间敏感度较高,降低业务被动方实现成本 ### 2. 最大努力通知型(定期校对) #### 服务模式 - 可查询操作 - 幂等操作 #### 约束 被动方的处理结果不影响主动方的处理结果 #### 适用范围 - 对业务最终一致性的时间敏感度低 - 跨企业的业务活动 ### TCC 补偿事务 #### 服务模式 - TCC操作 - 可补偿操作 - 可查询操作 - 幂等操作 #### 适用范围 - 强隔离性、严格一致性要求的业务活动 - 适用于执行时间较短的业务(比如处理账户、收费等业务) ## 注意 例子注重展示如何实现,没有考虑性能问题,相关的优化需自行实现。