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微服務

相關文章
相關標籤/搜索