GTS--阿里巴巴分布式事务全新解决方案
生活随笔
收集整理的這篇文章主要介紹了
GTS--阿里巴巴分布式事务全新解决方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載自https://bbs.aliyun.com/read/575101.html?spm=a2c4e.11155512.0.0.A0UC1H&accounttraceid=83c3555c-2f16-4555-91a7-27a68d7fd0fe
現代IT應用中,服務化SOA作為主流的技術架構被廣泛應用到各種信息系統。原來一個系統被分拆成若干個服務的集合,產生了跨服務調用的分布式事務問題。隨著Dubbo、SpringCloud等微服務框架的流行,服務被進一步細分,跨服務調用以及服務的嵌套調用越來越廣泛。分布式事務已經成為現代分布式系統中必須面對并解決的難題。為此,今天給大家介紹下阿里巴巴為解決服務調用中的事務問題推出的解決方案GTS。???? 1 GTS簡介 ?? 全局事務服務(GTS,Global Transaction Service)是一款高性能、高可靠、接入簡單的分布式事務中間件,可以為多服務調用或跨數據庫訪問中產生的事務問題提供一站式解決方案。其主要包括客戶端、資源管理器和事務協調器三部分。客戶端主要完成事務的發起與結束。資源管理器,完成分支事務的開啟、提交、回滾等操作。事務協調器是GTS的服務端,主要負責分布式事務的整體推進,事務生命周期的管理。 2 應用場景 GTS可應用在涉及服務調用和跨數據庫操作的多個領域,包括但不限于金融支付、電信、電子商務、快遞物流、廣告營銷、社交、即時通信、手游、視頻、物聯網、車聯網等,典型的應用場景如下: 2.1??解決微服務化的事務問題 ??目前微服務理念被廣泛應用到各IT系統的設計中。共享出行作為近幾年現象級應用極大的方便了大家生活。其系統大多基于微服務理念設計,被劃分為眾多服務,如車況服務、優惠券服務、運維服務、車鎖服務、訂單服務、支付服務、用戶服務等。一個簡單的借車業務需要調用車況服務進行檢測,調用訂單服務生成訂單,還需要調用用戶服務、車鎖服務、運維服務。如果車鎖服務調用失敗,用戶無法使用,必須要回滾訂單、車況等服務。可見微服務系統中服務調用非常頻繁,而且需要數據的強一致性。GTS通過與dubbo、EDAS、SpringCloud等主流RPC框架無縫集成,可以很好解決服務調用的一致性問題。 2.2??解決調用第三方服務的過程中產生的事務問題 ??信息系統中很多操作可能需要調用第三方服務才能完成。例如在金融領域,客戶貸款通常包括授信和支用申請兩個流程,由金融公司和銀行的兩套獨立系統共同完成。典型放款業務一般要調用本地的信用核心、風控中心、額度中心3個服務完成資產評估,然后還需要調用銀行系統的身份校驗和支用服務才能完成最終的放款,調用需要嚴格一致。一旦某個服務調用失敗,除回滾本地服務外還需要回滾銀行系統的兩個服務。通過GTS的MT模式可以保證這種場景下第三方服務調用狀態的一致行。 2.3??解決跨消息事務問題 有些系統在調用服務的同時, 也會使用消息隊列(MQ)。GTS可以和MQ消息隊列打通,解決跨消息事務的一致性問題。一個典型的場景是在訂票系統中,當用戶進行訂票操作后,訂票系統會調用訂單服務、支付服務,同時向MQ發送訂票結果。GTS可以保證三個操作的一致性性,如果發送消息失敗GTS可以回滾前兩次服務調用。 2.4解決跨數據庫的事務問題 ??大型分布式系統往往涉及的業務非常多,數據可能存儲到多個數據庫中。業務操作可能需要跨多個數據庫甚至是異構數據庫才能完成(如一個業務操作可能需要同時向mysql和drds兩個數據庫中更新數據)。GTS可以很好的解決跨庫的分布式事務,保證數據的強一致行。? 有對分布式事務感興趣的朋友,歡迎加入微信群。 [ 此帖被gts團隊在2018-02-02 12:46重新編輯 ] |
小圖?|?大圖圖片 |
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生
總結
以上是生活随笔為你收集整理的GTS--阿里巴巴分布式事务全新解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Tomcat优化之配置线程池
- 下一篇: fastjson 过滤不需要的字段或者只