SpringCloud 实现 Restful Tcc

微服务分布式事务方案有不少二/三阶段提交,TCC,Restful TCC ,最终一致性,最大努力尝试型等等,git

各有优缺点;这里就简单介绍下RestFul TCC ,github

RESTful TCC是由Atomikos对微服务分布式事务提出的解决方案;spring

分三个阶段分布式

  1. Trying阶段主要针对业务系统检测及做出预留资源请求, 若预留资源成功, 则返回确认资源的连接与过时时间
  2. Confirm阶段主要是对业务系统的预留资源做出确认, 要求TCC服务的提供方要对确认预留资源的接口实现幂等性, 若Confirm成功则返回204, 资源超时则证实已经被回收且返回404
  3. Cancel阶段主要是在业务执行错误或者预留资源超时后执行的资源释放操做, Cancel接口是一个可选操做, 由于要求TCC服务的提供方实现自动回收的功能, 因此即使是不认为进行Cancel, 系统也会自动回收资源

 

例子: https://github.com/zhaoqilong3031/spring-cloud-samples微服务

相关文章
相关标签/搜索