閱讀686 返回首頁    go 阿裏雲


TXC 簡介__TXC for EDAS_二方服務_企業級分布式應用服務 EDAS-阿裏雲

分布式事務(Transaction Controller,簡稱 TXC)是一款高性能、高可靠、接入簡單的分布式事務中間件,用於解決分布式環境下的事務一致性問題。該產品支持 DRDS、RDS、Oracle、MySQL、PostgreSQL、H2 等多種數據源,並可以配合使用 EDAS、Dubbo 及多種私有 RPC 框架,同時還兼容 MQ 消息隊列等中間件產品,能夠輕鬆實現分布式數據庫事務、多庫事務、消息事務、服務鏈路級事務及其各種組合,策略豐富,易用性和性能兼顧。

TXC 是阿裏雲正式商用的產品,目前在阿裏雲多個地域(Region)提供了高可用分布式事務雲服務,產品穩定性及可用性完全按照阿裏巴巴內部標準來實施,產品使用時,應用隻需要極少的代碼改造和配置,即可享受分布式事務帶來的便利。

功能介紹

TXC 能夠輕鬆實現分布式數據庫事務、多庫事務、消息事務、服務鏈路級事務及其各種組合,支持 DRDS、RDS、Oracle、MySQL、PostgreSQL、H2 等多種數據源,同時可以配合使用 EDAS、Dubbo 及多種私有RPC框架,此外還兼容 MQ 消息隊列等中間件產品。使用 TXC 主要能夠解決以下三方麵的問題:

數據庫擴容產生的分布式事務

業務初始階段往往規模比較小,大多情況下,單庫就可以滿足需求,經過一段時間後,業務規模也會隨之變得大而複雜,會出現分庫的情況,這時原有的單機事務往往會變成分布式事務。

跨資源操作

在某些業務場景中,需要進行多個 DB 操作的同時,還會調用消息係統,DB 操作成功、消息發送失敗或者反過來都會造成業務的不完整。

跨服務的分布式事務

業務完成服務化後,資源與客戶端調用解耦,同時又要保證多個服務調用間資源的變化保持強一致,否則會造成業務數據的不完整。

產品優勢

簡單易用

TXC 嵌入代碼和業務代碼鬆耦合,僅需簡單配置就能夠輕鬆實現分布式事務,並對已有業務代碼不造成影響。

節約成本

節省運維成本,避免了分布式場景下產生的數據異常;節省開發成本,像使用單機事務一樣使用分布式事務。

高性能

  • 普通單台服務器提供1.5萬 TPS 以上分布式事務處理能力;
  • 每一個事務分支的處理延遲在2ms左右;
  • 熱點數據可以高效處理,無懼數據衝突。

接入簡單

  • 支持多種數據源: DRDS、RDS、Oracle、MySQL、PostgreSQL、H2等;
  • 支持 RPC 框架: EDAS、Dubbo 及多種私有 RPC 框架;
  • 支持消息隊列: MQ;
  • 高可靠:中間狀態多份落盤存儲,經過嚴格斷電測試,嚴格保證數據一致性。

應用場景

TXC 可應用在涉及數據庫操作的多個領域,包括企業解決方案、金融支付、電信、電子商務、快遞物流、廣告營銷、社交、即時通信、手遊、視頻、物聯網、車聯網等。

TXC 可以應用但不局限於以下業務場景:

EDAS 事務解決方案

與 EDAS 打通,提供誇庫、跨服務的分布式事務支持,實現業務鏈路級別的分布式事務。開發簡單,隻需要在客戶端聲明一個注解,界定事務邊界。

DRDS 事務解決方案

提供標準的 SQL 語法,以極低的開發成本,為分布式數據庫 DRDS 提供分布式事務能力,是企業從單機數據庫遷移到分布式數據庫的利器。

MQ 事務解決方案

與 MQ 打通,提供事務消息處理能力,業務鏈路完成時發送消息,任一階段異常時回滾消息。開發簡單,在客戶端聲明一個注解,界定事務邊界,調用 MQ 的 API 發送消息。

混合事務解決方案

以極簡單的用戶接口,實現跨服務(EDAS、Dubbo)、跨數據庫(DRDS、RDS、MySQL)、跨消息(MQ)的通用分布式事務管理。

名詞解釋

本文主要對 TXC 涉及的專有名詞及術語進行定義和解析,方便您更好地理解相關概念並使用 TXC。

TXC

分布式事務(Transaction Controller,簡稱 TXC)是一款高性能、高可靠、接入簡單的分布式事務中間件,用於解決分布式環境下的事務一致性問題。本產品是企業級互聯網架構的核心產品,可提供分布式數據庫事務、多庫事務、消息事務、服務鏈路級事務等一係列分布式事務雲服務。

Transaction

事務,是指作為單個邏輯工作單元執行的一係列操作,要麼完全地執行,要麼完全地不執行。

XID

XID,即 TXC 分布式事務的全局事務 ID,TXC 服務會為每一個分布式事務生成一個全局唯一的分布式事務 ID。由於其全局唯一性,我們可以通過 TXC 日誌中的 XID 幫助排查問題。一個事務的 XID 可以通過下麵代碼獲得:TxcContext.getCurrentXid();

BranchId

即 TXC 分布式事務的分支事務 ID,它是事務分支的唯一標識。XID 和 BranchId 是一對多的包含關係,即一個全局事務可能包含多個事務分支。通過在 TXC 日誌中跟蹤某個 BranchId,可以幫助排查問題,觀察事務分支提交和回滾的原因。

GlobalCommit

全局事務提交,TXC 中用於表示一個全局事務提交了。

GlobalRollback

全局事務回滾,TXC 中用於表示一個全局事務回滾了。

BranchCommit

分支事務提交,TXC 中用於表示一個全局事務的某個分支提交了。

BranchRollback

分支事務回滾,TXC 中用於表示一個全局事務的某個分支回滾了。

最後更新:2016-12-07 10:28:54

  上一篇:go 開發測試集群使用說明__SchedulerX for EDAS_二方服務_企業級分布式應用服務 EDAS-阿裏雲
  下一篇:go TXC 控製台快速入門__TXC for EDAS_二方服務_企業級分布式應用服務 EDAS-阿裏雲