tcc分散式事務框架原始碼解析系列(一)之專案結構

yu199195發表於2017-10-13

happylifeplat-tcc 是什麼?有什麼功能?

  • 這是碧桂園旺生活解決分散式事務的TCC開源方案。github地址
  • 支援dubbo,springcloud等rpc框架進行分散式事務
  • 本地事務儲存,支援redis,mogondb,zookeeper,file,mysql等關係型資料庫
  • 序列化方式,支援java,hessian,kryo,protostuff

專案結構

結構圖
結構圖

  • happylifeplat-annotation 提供分散式事務的@Tcc註解,對於向dubbo這種面向介面的rpc框架,為了保證介面的輕量性,所以抽離出來,單獨做為一個專案。

  • happylifeplat-tcc-common 從名稱可以看出是tcc框架的一個公共專案,裡面主要是一些配置,列舉,異常定義等。

  • happylifeplat-tcc-core 該專案是tcc框架的核心實現,包括服務的啟動,呼叫流程,aop切面,重試等實現。

  • happylifeplat-tcc-dubbo 該專案是對dubbo框架的支援,裡面主要針對dubbo的特性的實現。

  • happylifeplat-tcc-springcloud 該專案是對springcloud框架的支援,裡面主要針對springcloud的特性的實現。

  • happylifeplat-tcc-demo 這是實戰體驗的demo專案,裡面有針對dubbo使用者和springcloud使用者的案列,裡面具體的配置,使用者可以參考 dubbo使用者 , springcloud使用者

相關文章