1. 程式人生 > >分散式事務中介軟體 TCC-Transaction 原始碼分析 —— Dubbo 支援

分散式事務中介軟體 TCC-Transaction 原始碼分析 —— Dubbo 支援

1. 概述

本文分享 Dubbo 支援。

TCC-Transaction 通過 Dubbo 隱式傳參的功能,避免自己對業務程式碼的入侵。可能有同學不太理解為什麼說 TCC-Transaction 對業務程式碼有一定的入侵性,一起來看個程式碼例子:

  • 程式碼來自 tcc-transaction-http-sample 。宣告遠端呼叫時,增加了引數 TransactionContext。當然你也可以通過自己使用的遠端呼叫框架做一定封裝,避免入侵。

如下是對 Dubbo 封裝了後,Dubbo Service 方法的例子:

  • 程式碼來自 http-transaction-dubbo-sample 。是不是不需要傳入引數 TransactionContext。當然,註解是肯定需要的,否則 TCC-Transaction 怎麼知道哪些方法是 TCC 方法。

TCC-Transaction 通過 Dubbo Proxy 的機制,實現 @Compensable 屬性自動生成,增加開發體驗,也避免出錯。

Dubbo 支援( Maven 專案 tcc-transaction-dubbo ) 整體程式碼結構如下:

  • proxy

  • context

我們分成兩個小節分享這兩個包實現的功能。

本人暫時對 Dubbo 瞭解的不夠深入,如果有錯誤的地方,還煩請指出,謝謝。

希望此文能幫到大家的同時,也聽聽大家的觀點。歡迎留言討論,加關注,分享你的高見!持續更新

我本人邀約各大BATJ架構大牛共創Java高階架構交流社群群,(群號:673043639)致力於免費提供Java架構行業交流平臺,通過這個平臺讓大家相互學習成長,提高技術,讓自己的水平進階一個檔次,成功通往Java架構技術大牛或架構師發展。

為什麼某些人會一直比你優秀,是因為他本身就很優秀還一直在持續努力變得更優秀,而你是不是還在滿足於現狀內心在竊喜!

合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!

  • To-陌霖Java架構

分享網際網路最新文章 關注網際網路最新發展