網(wǎng)站性能檢測評分
注:本網(wǎng)站頁面html檢測工具掃描網(wǎng)站中存在的基本問題,僅供參考。
系統(tǒng)需求
破解世界性技術(shù)難題! GTS讓分布式事務(wù)簡單高效 行業(yè)視頻課程
近日,2017云棲大會(huì)·深圳峰會(huì)如期舉行,多項(xiàng)阿里云新產(chǎn)品對外發(fā)布。在企業(yè)級互聯(lián)網(wǎng)架構(gòu)分會(huì)場,來自阿里中間件(Aliware)的技術(shù)專家及合作伙伴,為現(xiàn)場參會(huì)嘉賓帶來最新的傳統(tǒng)IT架構(gòu)到企業(yè)級互聯(lián)網(wǎng)架構(gòu)跨越式升級、實(shí)現(xiàn)互聯(lián)網(wǎng)轉(zhuǎn)型的產(chǎn)品及解決方案。其中高級技術(shù)專家姜宇在分享中帶來的Aliware新產(chǎn)品—全局事務(wù)服務(wù)(GlobalTransactionService,簡稱GTS),在分布式事務(wù)處理上帶來的高性能和技術(shù)創(chuàng)新令到場參會(huì)的各路技術(shù)專家眼前一亮。Aliware新成員—全局事務(wù)服務(wù)GTS技術(shù)分享現(xiàn)場分布式事務(wù)背景OLTP領(lǐng)域中很多業(yè)務(wù)場景都會(huì)面臨事務(wù)一致性的需求,傳統(tǒng)業(yè)務(wù)系統(tǒng)常以單體應(yīng)用形式存在,只需借助特有數(shù)據(jù)訪問技術(shù)和框架,結(jié)合關(guān)系型數(shù)據(jù)庫自帶的事務(wù)管理機(jī)制來實(shí)現(xiàn)事務(wù)一致性的要求。而目前大型互聯(lián)網(wǎng)應(yīng)用和平臺往往是由一系列分布式系統(tǒng)構(gòu)建而成,平臺和技術(shù)架構(gòu)也是流派紛呈。尤其是微服務(wù)架構(gòu)盛行的今天,一個(gè)看似簡單的功能,內(nèi)部可能需要調(diào)用多個(gè)“服務(wù)”并操作多個(gè)數(shù)據(jù)庫或分片來實(shí)現(xiàn),單一技術(shù)手段和解決方案已無法滿足這些復(fù)雜應(yīng)用場景。因此,分布式系統(tǒng)架構(gòu)中分布式事務(wù)是一個(gè)繞不過去的挑戰(zhàn)。什么是分布式事務(wù)?簡單的說,就是一次大操作由不同小操作組成,這些小操作分布在不同服務(wù)器上,分布式事務(wù)需要保證這些小操作要么全部成功,要么全部失敗。本質(zhì)上來說,分布式事務(wù)就是為了保證不同數(shù)據(jù)庫或消息系統(tǒng)的數(shù)據(jù)一致性。分布式事務(wù)三大難題:一致性、高性能和易用性分布式系統(tǒng)的事務(wù)一致性本身是一個(gè)技術(shù)難題,沒有一種簡單完美的方案能夠應(yīng)對所有場景,很難兼顧事務(wù)一致性,高性能與易用性。三者缺一,則適用場景大大受限,實(shí)用價(jià)值不高。首先是一致性:要求在各種異常情況下保證數(shù)據(jù)是強(qiáng)一致的。目前最常見的一致性解決方案是最終一致性方案,通常是結(jié)合消息中間件實(shí)現(xiàn),在互聯(lián)網(wǎng)企業(yè)中廣泛使用。最終一致性實(shí)現(xiàn)方案比較復(fù)雜,開發(fā)、運(yùn)維成本高,并且與強(qiáng)一致相比,業(yè)務(wù)上是受很多限制的。其次是高性能:目前基于XA協(xié)議的兩階段提交是最常見的分布式事務(wù)解決方案,但XA類產(chǎn)品的典型不足是性能低下,這對于互聯(lián)網(wǎng)大并發(fā)需求下的多數(shù)企業(yè)是無法接受的。國外具有幾十年歷史和技術(shù)沉淀的基于XA模型的商用分布式事務(wù)產(chǎn)品,在相同軟硬件條件下,開啟分布式事務(wù)后吞吐經(jīng)常有數(shù)量級的下降。第三是易用性:為了滿足一致性和高性能要求,出現(xiàn)了一些特定場景下的分布式事務(wù)方案,但通常會(huì)限制用戶用法,對業(yè)務(wù)侵入性強(qiáng),無法做到簡單易用,帶來更多開發(fā)成本。世界級應(yīng)用場景,催生世界級分布式事務(wù)解決方案早期的阿里巴巴集團(tuán)隨著業(yè)務(wù)高速發(fā)展,內(nèi)部不斷涌現(xiàn)各種典型的分布式事務(wù)需求,比如阿里內(nèi)部廣泛使用的TDDL分庫分表所帶來的分庫間數(shù)據(jù)不一致問題,HSF服務(wù)化后所帶來的服務(wù)鏈路上數(shù)據(jù)不一致問題等。在這個(gè)過程中,各業(yè)務(wù)技術(shù)團(tuán)隊(duì)利用現(xiàn)有中間件技術(shù)手段實(shí)現(xiàn)分布式事務(wù)處理,但這些手段都較為復(fù)雜,工作量大,對應(yīng)用侵入嚴(yán)重,有些適用場景還有限制。2014年5月開始,阿里中間件(Aliware)內(nèi)部命名為TXC的分布式事務(wù)中間件開始研發(fā),同年10月1.0版本發(fā)布,分布式事務(wù)功能已經(jīng)具備,但性能還有局限,只適合于吞吐量較小的場景;2015年12月,TXC2.0版本發(fā)布,相比1.0版本性能提升10倍以上,在阿里內(nèi)部多條業(yè)務(wù)線得到部署。通過部署TXC,應(yīng)用只需極少的代碼改造和配置,即可享受分布式事務(wù)帶來的便利。TXC作為阿里內(nèi)部為解決分布式數(shù)據(jù)強(qiáng)一致性問題而研發(fā)的分布式事務(wù)中間件,徹底解決了分布式事務(wù)數(shù)據(jù)一致性的問題,簡單易用,先后在淘寶,菜鳥,淘票票和村淘等多個(gè)業(yè)務(wù)的核心系統(tǒng)上得到部署和驗(yàn)證。順應(yīng)云時(shí)代潮流,GTS應(yīng)運(yùn)而生從2016年年中開始,在阿里內(nèi)部一直接受錘煉的分布式事務(wù)中間件TXC在2.0版本后,隨著阿里中間件上云熱潮,開始通過專有云輸出,并得到了市場極大認(rèn)可,適用場景得到進(jìn)一步拓展,全面涵蓋電商、物流、金融、零售、政企、游戲、文娛等領(lǐng)域。2017年2月,TXC2.0通過阿里云對外公測,外部改名為全局事務(wù)服務(wù)(GlobalTransactionService,簡稱GTS)。GTS總體架構(gòu)圖在整體架構(gòu)方面,GTS由三個(gè)組件組成:客戶端(GTS-Client),資源管理器(RM),事務(wù)協(xié)調(diào)器(GTS-Server)??蛻舳伺c事務(wù)協(xié)調(diào)器間,資源管理器與事務(wù)協(xié)調(diào)器間都是通過GTS分布式事務(wù)協(xié)議進(jìn)行通信。客戶端負(fù)責(zé)界定事務(wù)邊界,開啟/提交/回滾全局事務(wù),資源管理器負(fù)責(zé)管理資源,支持的資源包括:DRDS,Oracle,MySQL,RDS,PostgreSQL,H2,MQ,后續(xù)計(jì)劃根據(jù)實(shí)際業(yè)務(wù)需求支持更多類型資源。事務(wù)協(xié)調(diào)器,也就是GTS服務(wù)器,是分布式事務(wù)處理的大腦,負(fù)責(zé)協(xié)調(diào)整個(gè)事務(wù)過程。GTS事務(wù)通過RPC框架和消息中間件進(jìn)行事務(wù)傳遞,把整個(gè)業(yè)務(wù)調(diào)用鏈路或者消息鏈路串成一個(gè)分布式事務(wù),極大簡化應(yīng)用開發(fā)。在高可用方面,GTS支持同城容災(zāi)與兩地三中心容災(zāi),可保證各種異常情況下的數(shù)據(jù)一致。在易用性方面,GTS對業(yè)務(wù)無侵入,真正做到業(yè)務(wù)與事務(wù)分離,開發(fā)者可以集中精力于業(yè)務(wù)本身。在技術(shù)創(chuàng)新方面,GTS也走在了行業(yè)前沿。項(xiàng)目負(fù)責(zé)人阿里高級技術(shù)專家姜宇(花名于皋)擁有13項(xiàng)分布式事務(wù)的核心技術(shù)專利,研發(fā)團(tuán)隊(duì)的技術(shù)專家張松樹也有3篇專利。通過大量的專利技術(shù),精妙的算法,與精巧的分布式事務(wù)私有協(xié)議,GTS取得了超強(qiáng)的性能。另外,在部分嚴(yán)苛的行業(yè)應(yīng)用場景,比如金融用戶的資管項(xiàng)目分布式事務(wù)場景下,GTS也經(jīng)歷了嚴(yán)格的測試,按照用戶要求順利完成功能性、穩(wěn)定性和性能測試。下圖是一個(gè)典型性能測試場景數(shù)據(jù),從實(shí)測數(shù)據(jù)可以看出,開啟GTS(TXC)分布式事務(wù)后性能下降不明顯。目前GTS已經(jīng)在資金業(yè)務(wù)上有實(shí)際應(yīng)用,線上大量真實(shí)數(shù)據(jù)驗(yàn)證了GTS的高效可靠。GTS典型性能測試場景數(shù)據(jù)性能優(yōu)異,業(yè)務(wù)場景廣泛作為新一代企業(yè)級分布式事務(wù)服務(wù)產(chǎn)品,全局事務(wù)服務(wù)GTS兼顧了事務(wù)一致性,高性能與易用性。在滿足事務(wù)ACID的前提下,普通配置的單服務(wù)器就可以達(dá)到15000TPS以上的超強(qiáng)性能(兩個(gè)小時(shí)內(nèi)完成1億多筆業(yè)務(wù)),3臺8核16G內(nèi)存虛機(jī)組成的服務(wù)器集群可以支撐1萬TPS以上的分布式事務(wù),與同類產(chǎn)品相比,性能優(yōu)勢明顯。另外簡單易用對業(yè)務(wù)無侵入,為廣大企業(yè)大幅降低開發(fā)成本,業(yè)務(wù)場景非常廣泛:1、跨多分庫的分布式數(shù)據(jù)庫事務(wù)場景:關(guān)系型數(shù)據(jù)庫普遍支持事務(wù),能夠滿足事務(wù)內(nèi)的SQL要么全部成功、要么全部失敗。但客戶從單機(jī)數(shù)據(jù)庫往分布式數(shù)據(jù)庫遷移的情況下,原有的一個(gè)事務(wù)往往會(huì)被拆分為多個(gè)分庫上的事務(wù)。由于網(wǎng)絡(luò)的不可靠性,容易出現(xiàn)部分分庫上成功,部分分庫上失敗的情況。GTS結(jié)合DRDS可徹底解決了這一問題。2、跨多數(shù)據(jù)庫的事務(wù)場景:復(fù)雜的業(yè)務(wù)系統(tǒng)經(jīng)常會(huì)使用多個(gè)數(shù)據(jù)庫,甚至多種類型的數(shù)據(jù)庫,比如企業(yè)中Oracle,MySQL和其他關(guān)系型數(shù)據(jù)庫并存的情況時(shí)有發(fā)生。業(yè)務(wù)同時(shí)操作多個(gè)數(shù)據(jù)庫的情況下,一旦發(fā)生先提交的事務(wù)成功、后提交的事務(wù)失敗,就很難解決。GTS支持各種常見關(guān)系型數(shù)據(jù)庫,并提供多數(shù)據(jù)庫間的事務(wù)保證。3、跨數(shù)據(jù)庫系統(tǒng)、消息系統(tǒng)的事務(wù)場景:消息系統(tǒng)被廣泛地用于系統(tǒng)間解耦,一般先執(zhí)行一段業(yè)務(wù)邏輯,執(zhí)行成功會(huì)向消息系統(tǒng)發(fā)送一條消息,用于通知或觸發(fā)下游業(yè)務(wù)。這個(gè)場景下,如果業(yè)務(wù)邏輯執(zhí)行成功、消息發(fā)送失敗,則業(yè)務(wù)不完整;如果先發(fā)送消息,但執(zhí)行業(yè)務(wù)邏輯失敗,同樣存在問題。GTS提供了針對消息系統(tǒng)以及常見關(guān)系型數(shù)據(jù)庫的操作入口,保證數(shù)據(jù)庫操作和發(fā)送消息要么同時(shí)成功、要么同時(shí)失敗。4、跨服務(wù)的事務(wù)場景:隨著業(yè)務(wù)復(fù)雜度提升,大多企業(yè)會(huì)對業(yè)務(wù)進(jìn)行服務(wù)化改造。可能存在服務(wù)一操作MySQL和DRDS,服務(wù)二操作Oracle,要求兩個(gè)服務(wù)操作要么同時(shí)成功、要么同時(shí)失敗,否則會(huì)造成業(yè)務(wù)數(shù)據(jù)的不一致。GTS可以很方便地進(jìn)行跨多個(gè)服務(wù)的分布式事務(wù)。依托阿里中間件(Aliware),打造世界一流企業(yè)級互聯(lián)網(wǎng)架構(gòu)平臺據(jù)GTS項(xiàng)目負(fù)責(zé)人姜宇介紹,“GTS作為一款高性能、高可靠、接入簡單的分布式事務(wù)中間件產(chǎn)品,可與DRDS、RDS、Oracle、MySQL、PostgreSQL、H2等數(shù)據(jù)源,EDAS、Dubbo及多種私有RPC框架,MQ消息隊(duì)列等中間件產(chǎn)品配合使用,可輕松實(shí)現(xiàn)分布式數(shù)據(jù)庫事務(wù)、多庫事務(wù)、消息事務(wù)、服務(wù)鏈路級事務(wù)及各種組合。策略豐富,易用性和性能兼顧,將真正完善阿里云中間件產(chǎn)品線。”GTS(TXC)的研發(fā)依托于阿里中間件(Aliware)團(tuán)隊(duì),中間件技術(shù)部是阿里巴巴集團(tuán)生態(tài)系統(tǒng)的技術(shù)基石,為集團(tuán)各大業(yè)務(wù)群提供可靠、高效、易擴(kuò)展的技術(shù)基礎(chǔ)服務(wù);并在此基礎(chǔ)上打造世界一流的中間件產(chǎn)品、高可用架構(gòu)基礎(chǔ)設(shè)施和企業(yè)級互聯(lián)網(wǎng)架構(gòu)平臺,為全球企業(yè)和客戶提供服務(wù)。更多AliwareGTS產(chǎn)品服務(wù)和技術(shù)細(xì)節(jié),請?jiān)L問官網(wǎng): 相關(guān)新聞 2016-04-19 2016-06-13 2016-10-24 2016-11-04 2017-12-29