網(wǎng)站性能檢測評(píng)分
注:本網(wǎng)站頁面html檢測工具掃描網(wǎng)站中存在的基本問題,僅供參考。
訪問數(shù)據(jù)庫
從單一到混合 DDoS攻擊方式全面剖析 行業(yè)視頻課程
DDoS攻擊素來以成本低廉(相比防御)、效果顯著、影響深遠(yuǎn)為攻擊者所青睞,經(jīng)過長時(shí)間的發(fā)展,DDoS攻擊方式有很多種,最基本的DoS攻擊利用單個(gè)合理的服務(wù)請(qǐng)求來占用過多的服務(wù)資源,從而使合法用戶無法得到服務(wù)的響應(yīng)。DoS攻擊通常采用一對(duì)一的方式,在目標(biāo)系統(tǒng)帶寬、內(nèi)存、CPU等各項(xiàng)性能指標(biāo)都不高時(shí),具有明顯的效果。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,計(jì)算機(jī)的處理能力迅速增長,內(nèi)存大大增加,千兆級(jí)別的網(wǎng)絡(luò)出現(xiàn),目標(biāo)系統(tǒng)的“消化能力”倍增,這時(shí)候,分布式的拒絕服務(wù)攻擊手段——DDoS就出現(xiàn)了。利用網(wǎng)絡(luò)上已被攻陷的電腦作為“肉雞”,通過一定方式組合形成數(shù)量龐大的“僵尸網(wǎng)絡(luò)”,采用一對(duì)多的方式進(jìn)行控制,向目標(biāo)系統(tǒng)同時(shí)提出服務(wù)請(qǐng)求,殺傷力大幅度增加。DDoS攻、防對(duì)抗多年,從DoS到DDoS,從以流量取勝到以技巧取勝,從單一攻擊到混合攻擊,攻擊手段正不斷進(jìn)化,本文將一一介紹最常見、最具代表性的攻擊方式,企業(yè)運(yùn)營者做到知己知彼,才能有備無患。一、攻擊帶寬:以力取勝如同城市堵車一樣,當(dāng)數(shù)據(jù)包超過帶寬上限,就會(huì)出現(xiàn)網(wǎng)絡(luò)擁堵、響應(yīng)緩慢的情況。流量型DDoS攻擊就是如此,發(fā)送海量數(shù)據(jù)包,頃刻占滿目標(biāo)系統(tǒng)的全部帶寬,正常請(qǐng)求被堵在門外,拒絕服務(wù)的目的達(dá)成。ICMPFloodICMP(Internet控制報(bào)文協(xié)議)用于在IP主機(jī)、路由器之間傳遞控制消息,控制消息是指網(wǎng)絡(luò)通不通、主機(jī)是否可達(dá)、路由是否可用等網(wǎng)絡(luò)本身的消息,雖然并不傳輸用戶數(shù)據(jù),但是對(duì)于用戶數(shù)據(jù)的傳遞起著重要的作用。通過對(duì)目標(biāo)系統(tǒng)發(fā)送海量數(shù)據(jù)包,就可以令目標(biāo)主機(jī)癱瘓,如果大量發(fā)送就成了洪水攻擊。UDPFloodUDP協(xié)議是一種無連接的服務(wù),在UDPFlood中,攻擊者通常發(fā)送大量偽造源IP地址的小UDP包沖擊DNS服務(wù)器或Radius認(rèn)證服務(wù)器、流媒體視頻服務(wù)器。100kbps的UDPFlood經(jīng)常將線路上的骨干設(shè)備例如防火墻打癱,造成整個(gè)網(wǎng)段的癱瘓。上述傳統(tǒng)的流量型攻擊方式技術(shù)含量較低,傷人一千自損八百,攻擊效果通常依賴受控主機(jī)本身的網(wǎng)絡(luò)性能,而且容易被查到攻擊源頭,單獨(dú)使用的情況已不常見。于是,具有四兩拔千斤效果的反射型放大攻擊就出現(xiàn)了。NTPFloodNTP是標(biāo)準(zhǔn)的基于UDP協(xié)議傳輸?shù)木W(wǎng)絡(luò)時(shí)間同步協(xié)議,由于UDP協(xié)議的無連接性,方便偽造源地址。攻擊者使用特殊的數(shù)據(jù)包,也就是IP地址指向作為反射器的服務(wù)器,源IP地址被偽造成攻擊目標(biāo)的IP,反射器接收到數(shù)據(jù)包時(shí)就被騙了,會(huì)將響應(yīng)數(shù)據(jù)發(fā)送給被攻擊目標(biāo),耗盡目標(biāo)網(wǎng)絡(luò)的帶寬資源。一般的NTP服務(wù)器都有很大的帶寬,攻擊者可能只需要1Mbps的上傳帶寬欺騙NTP服務(wù)器,就可給目標(biāo)服務(wù)器帶來幾百上千Mbps的攻擊流量。因此,“問-答”方式的協(xié)議都可以被反射型攻擊利用,將質(zhì)詢數(shù)據(jù)包的地址偽造為攻擊目標(biāo)地址,應(yīng)答的數(shù)據(jù)包就會(huì)都被發(fā)送至目標(biāo),一旦協(xié)議具有遞歸效果,流量就被顯著放大了,堪稱一種“借刀殺人”的流量型攻擊。面對(duì)洪水般的流量,花高價(jià)進(jìn)行抗D帶寬擴(kuò)容和多運(yùn)營商鏈路冗余,雖一定程度可提升抗D能力,但面對(duì)大量攻擊仍舊于事無補(bǔ),而且浪費(fèi)資源。知道創(chuàng)宇旗下抗DDoS云防御平臺(tái)——抗D保,橫跨全國的分布式數(shù)據(jù)中心,600G以上帶寬抗DDoS,并可隨時(shí)應(yīng)急調(diào)用騰訊自有帶寬1.5Tb,這使得抗D保擁有超過2個(gè)Tb的防御能力。 二、攻擊系統(tǒng)/應(yīng)用:以巧取勝這類型的DDoS攻擊走的是巧勁,利用各種協(xié)議的行為特性、系統(tǒng)的缺陷、服務(wù)的脆弱性、軟件的漏洞等等發(fā)起攻擊,不斷占用目標(biāo)系統(tǒng)的資源以阻止它們處理正常事務(wù)和請(qǐng)求。SYNFlood這是一種利用TCP協(xié)議缺陷,發(fā)送大量偽造的TCP連接請(qǐng)求,從而使得被攻擊方資源耗盡(CPU滿負(fù)荷或內(nèi)存不足)的攻擊方式。建立TCP連接,需要三次握手——客戶端發(fā)送SYN報(bào)文,服務(wù)端收到請(qǐng)求并返回報(bào)文表示接受,客戶端也返回確認(rèn),完成連接。SYNFlood就是用戶向服務(wù)器發(fā)送報(bào)文后突然死機(jī)或掉線,那么服務(wù)器在發(fā)出應(yīng)答報(bào)文后就無法收到客戶端的確認(rèn)報(bào)文(第三次握手無法完成),這時(shí)服務(wù)器端一般會(huì)重試并等待一段時(shí)間后再丟棄這個(gè)未完成的連接。一個(gè)用戶出現(xiàn)異常導(dǎo)致服務(wù)器的一個(gè)線程等待一會(huì)兒并不是大問題,但惡意攻擊者大量模擬這種情況,服務(wù)器端為了維護(hù)數(shù)以萬計(jì)的半連接而消耗非常多的資源,結(jié)果往往是無暇理睬客戶的正常請(qǐng)求,甚至崩潰。從正??蛻舻慕嵌瓤磥恚W(wǎng)站失去了響應(yīng),無法訪問。CC 攻擊
CC攻擊是目前應(yīng)用層攻擊的主要手段之一,借助代理服務(wù)器生成指向目標(biāo)系統(tǒng)的合法請(qǐng)求,實(shí)現(xiàn)偽裝和DDoS。我們都有這樣的體驗(yàn),訪問一個(gè)靜態(tài)頁面,即使人多也不需要太長時(shí)間,但如果在高峰期訪問論壇、貼吧等,那就很慢了,因?yàn)榉?wù)器系統(tǒng)需要到數(shù)據(jù)庫中判斷訪問者否有讀帖、發(fā)言等權(quán)限。訪問的人越多,論壇的頁面越多,數(shù)據(jù)庫壓力就越大,被訪問的頻率也越高,占用的系統(tǒng)資源也就相當(dāng)可觀。CC攻擊就充分利用了這個(gè)特點(diǎn),模擬多個(gè)正常用戶不停地訪問如論壇這些需要大量數(shù)據(jù)操作的頁面,造成服務(wù)器資源的浪費(fèi),CPU長時(shí)間處于100%,永遠(yuǎn)都有處理不完的請(qǐng)求,網(wǎng)絡(luò)擁塞,正常訪問被中止。這種攻擊技術(shù)性含量高,見不到真實(shí)源IP,見不到特別大的異常流量,但服務(wù)器就是無法進(jìn)行正常連接。之所以選擇代理服務(wù)器是因?yàn)榇砜梢杂行У仉[藏自己的身份,也可以繞開防火墻,因?yàn)榛旧纤械姆阑饓Χ紩?huì)檢測并發(fā)的TCP/IP連接數(shù)目,超過一定數(shù)目一定頻率就會(huì)被認(rèn)為是Connection-Flood。當(dāng)然也可以使用肉雞來發(fā)動(dòng)CC攻擊,攻擊者使用CC攻擊軟件控制大量肉雞發(fā)動(dòng)攻擊,肉雞可以模擬正常用戶訪問網(wǎng)站的請(qǐng)求偽造成合法數(shù)據(jù)包,相比前者來說更難防御。CC攻擊是針對(duì)Web服務(wù)在第七層協(xié)議發(fā)起的攻擊,在越上層協(xié)議上發(fā)動(dòng)DDoS攻擊越難以防御,上層協(xié)議與業(yè)務(wù)關(guān)聯(lián)愈加緊密,防御系統(tǒng)面臨的情況也會(huì)更復(fù)雜。比如CC攻擊中最重要的方式之一HTTPFlood,不僅會(huì)直接導(dǎo)致被攻擊的Web前端響應(yīng)緩慢,對(duì)承載的業(yè)務(wù)造成致命的影響,還可能會(huì)引起連鎖反應(yīng),間接攻擊到后端的Java等業(yè)務(wù)層邏輯以及更后端的數(shù)據(jù)庫服務(wù)。由于CC攻擊成本低、威力大,知道創(chuàng)宇安全專家組發(fā)現(xiàn)80%的DDoS攻擊都是CC攻擊。帶寬資源嚴(yán)重被消耗,網(wǎng)站癱瘓;CPU、內(nèi)存利用率飆升,主機(jī)癱瘓;瞬間快速打擊,無法快速響應(yīng)。知道創(chuàng)宇頂級(jí)安全研究團(tuán)隊(duì)為抗D保自主研發(fā)的Anti-CC防護(hù)引擎可以根據(jù)訪問者的URL、頻率、行為等訪問特征,智能識(shí)別CC攻擊,迅速識(shí)別CC攻擊并進(jìn)行攔截,在大規(guī)模CC攻擊時(shí)可以避免源站資源耗盡,保證企業(yè)網(wǎng)站的正常訪問。抗D保-抗CC攻擊數(shù)據(jù)(監(jiān)控)DNSQueryFloodDNS作為互聯(lián)網(wǎng)的核心服務(wù)之一,自然也是DDoS攻擊的一大主要目標(biāo)。DNSQueryFlood采用的方法是操縱大量傀儡機(jī)器,向目標(biāo)服務(wù)器發(fā)送大量的域名解析請(qǐng)求。服務(wù)器在接收到域名解析請(qǐng)求時(shí),首先會(huì)在服務(wù)器上查找是否有對(duì)應(yīng)的緩存,若查找不到且該域名無法直接解析時(shí),便向其上層DNS服務(wù)器遞歸查詢域名信息。通常,攻擊者請(qǐng)求解析的域名是隨機(jī)生成或者是網(wǎng)絡(luò)上根本不存在的域名,由于在本地?zé)o法查到對(duì)應(yīng)的結(jié)果,服務(wù)器必須使用遞歸查詢向上層域名服務(wù)器提交解析請(qǐng)求,引起連鎖反應(yīng)。解析過程給服務(wù)器帶來很大的負(fù)載,每秒鐘域名解析請(qǐng)求超過一定的數(shù)量就會(huì)造成DNS服務(wù)器解析域名超時(shí)。根據(jù)微軟的統(tǒng)計(jì)數(shù)據(jù),一臺(tái)DNS服務(wù)器所能承受的動(dòng)態(tài)域名查詢的上限是每秒鐘9000個(gè)請(qǐng)求。而一臺(tái)P3的PC機(jī)上可以輕易地構(gòu)造出每秒鐘幾萬個(gè)域名解析請(qǐng)求,足以使一臺(tái)硬件配置極高的DNS服務(wù)器癱瘓,由此可見DNS服務(wù)器的脆弱性。抗D保在全國多個(gè)城市采用分布式集群方式部署了上千臺(tái)高效DNS服務(wù)器,從而保證各個(gè)地區(qū)的查詢響應(yīng)速度。抗D保的高防DNS服務(wù),可有效解決突發(fā)的上億級(jí)別的隨機(jī)HOSTA記錄查詢攻擊、遞歸DNS穿透攻擊、DNS流量攻擊等多種針對(duì)域名解析的攻擊請(qǐng)求。抗D保防御DNS攻擊效果示意三、混合攻擊:流量與技巧并用在實(shí)際情況中,攻擊者只求達(dá)到打垮對(duì)方的目的,發(fā)展到現(xiàn)在,高級(jí)攻擊者已經(jīng)不傾向使用單一的攻擊手段作戰(zhàn)了,而是根據(jù)目標(biāo)系統(tǒng)的具體環(huán)境靈動(dòng)組合,發(fā)動(dòng)多種攻擊手段,既具備了海量的流量,又利用了協(xié)議、系統(tǒng)的缺陷,盡其所能地展開攻勢。對(duì)于被攻擊目標(biāo)來說,需要面對(duì)不同協(xié)議、不同資源的分布式的攻擊,分析、響應(yīng)和處理的成本就會(huì)大大增加。抗D保擁有國內(nèi)最大的抗D集群,使用騰訊宙斯盾流量清洗設(shè)備并結(jié)合由知道創(chuàng)宇研發(fā)的Anti-DDoS引擎,5秒發(fā)現(xiàn)惡意攻擊,10秒快速阻斷,2T帶寬儲(chǔ)備,通過多種防御手段,防御各種類型、形態(tài)的DDoS攻擊,包括基于網(wǎng)絡(luò)層的攻擊,如TCPFlood、UDPFlood、ICMPFlood,以及應(yīng)用層攻擊,類似HTTPFlood這種試圖耗盡服務(wù)器資源的攻擊,同時(shí)可以有效防御各種反射攻擊和僵尸網(wǎng)絡(luò)攻擊。面對(duì)一次次攻擊,即使是去年10月讓美國半個(gè)互聯(lián)網(wǎng)癱瘓的DDoS攻擊事件,也只是讓很多人小心臟稍微顫抖了幾下,在大家的印象中,DDoS只是一陣海嘯,很快就能恢復(fù)了往日的平靜。但是,DDoS在互聯(lián)網(wǎng)發(fā)展進(jìn)程中已經(jīng)留下了太多不可磨滅的破壞,許多企業(yè)就此一蹶不振。而且隨著互聯(lián)網(wǎng)+的不斷推進(jìn),商業(yè)競爭的愈演愈烈,它的危害越來越大,任何企業(yè)組織都應(yīng)該考慮自己的DDoS防護(hù)方案,而不是成為攻擊的炮灰,也盡量避免遭受攻擊后再亡羊補(bǔ)牢。 相關(guān)新聞 2016-12-20 2017-03-06 2017-07-28 2017-08-17 2017-09-04
CC攻擊是目前應(yīng)用層攻擊的主要手段之一,借助代理服務(wù)器生成指向目標(biāo)系統(tǒng)的合法請(qǐng)求,實(shí)現(xiàn)偽裝和DDoS。我們都有這樣的體驗(yàn),訪問一個(gè)靜態(tài)頁面,即使人多也不需要太長時(shí)間,但如果在高峰期訪問論壇、貼吧等,那就很慢了,因?yàn)榉?wù)器系統(tǒng)需要到數(shù)據(jù)庫中判斷訪問者否有讀帖、發(fā)言等權(quán)限。訪問的人越多,論壇的頁面越多,數(shù)據(jù)庫壓力就越大,被訪問的頻率也越高,占用的系統(tǒng)資源也就相當(dāng)可觀。CC攻擊就充分利用了這個(gè)特點(diǎn),模擬多個(gè)正常用戶不停地訪問如論壇這些需要大量數(shù)據(jù)操作的頁面,造成服務(wù)器資源的浪費(fèi),CPU長時(shí)間處于100%,永遠(yuǎn)都有處理不完的請(qǐng)求,網(wǎng)絡(luò)擁塞,正常訪問被中止。這種攻擊技術(shù)性含量高,見不到真實(shí)源IP,見不到特別大的異常流量,但服務(wù)器就是無法進(jìn)行正常連接。之所以選擇代理服務(wù)器是因?yàn)榇砜梢杂行У仉[藏自己的身份,也可以繞開防火墻,因?yàn)榛旧纤械姆阑饓Χ紩?huì)檢測并發(fā)的TCP/IP連接數(shù)目,超過一定數(shù)目一定頻率就會(huì)被認(rèn)為是Connection-Flood。當(dāng)然也可以使用肉雞來發(fā)動(dòng)CC攻擊,攻擊者使用CC攻擊軟件控制大量肉雞發(fā)動(dòng)攻擊,肉雞可以模擬正常用戶訪問網(wǎng)站的請(qǐng)求偽造成合法數(shù)據(jù)包,相比前者來說更難防御。CC攻擊是針對(duì)Web服務(wù)在第七層協(xié)議發(fā)起的攻擊,在越上層協(xié)議上發(fā)動(dòng)DDoS攻擊越難以防御,上層協(xié)議與業(yè)務(wù)關(guān)聯(lián)愈加緊密,防御系統(tǒng)面臨的情況也會(huì)更復(fù)雜。比如CC攻擊中最重要的方式之一HTTPFlood,不僅會(huì)直接導(dǎo)致被攻擊的Web前端響應(yīng)緩慢,對(duì)承載的業(yè)務(wù)造成致命的影響,還可能會(huì)引起連鎖反應(yīng),間接攻擊到后端的Java等業(yè)務(wù)層邏輯以及更后端的數(shù)據(jù)庫服務(wù)。由于CC攻擊成本低、威力大,知道創(chuàng)宇安全專家組發(fā)現(xiàn)80%的DDoS攻擊都是CC攻擊。帶寬資源嚴(yán)重被消耗,網(wǎng)站癱瘓;CPU、內(nèi)存利用率飆升,主機(jī)癱瘓;瞬間快速打擊,無法快速響應(yīng)。知道創(chuàng)宇頂級(jí)安全研究團(tuán)隊(duì)為抗D保自主研發(fā)的Anti-CC防護(hù)引擎可以根據(jù)訪問者的URL、頻率、行為等訪問特征,智能識(shí)別CC攻擊,迅速識(shí)別CC攻擊并進(jìn)行攔截,在大規(guī)模CC攻擊時(shí)可以避免源站資源耗盡,保證企業(yè)網(wǎng)站的正常訪問。抗D保-抗CC攻擊數(shù)據(jù)(監(jiān)控)DNSQueryFloodDNS作為互聯(lián)網(wǎng)的核心服務(wù)之一,自然也是DDoS攻擊的一大主要目標(biāo)。DNSQueryFlood采用的方法是操縱大量傀儡機(jī)器,向目標(biāo)服務(wù)器發(fā)送大量的域名解析請(qǐng)求。服務(wù)器在接收到域名解析請(qǐng)求時(shí),首先會(huì)在服務(wù)器上查找是否有對(duì)應(yīng)的緩存,若查找不到且該域名無法直接解析時(shí),便向其上層DNS服務(wù)器遞歸查詢域名信息。通常,攻擊者請(qǐng)求解析的域名是隨機(jī)生成或者是網(wǎng)絡(luò)上根本不存在的域名,由于在本地?zé)o法查到對(duì)應(yīng)的結(jié)果,服務(wù)器必須使用遞歸查詢向上層域名服務(wù)器提交解析請(qǐng)求,引起連鎖反應(yīng)。解析過程給服務(wù)器帶來很大的負(fù)載,每秒鐘域名解析請(qǐng)求超過一定的數(shù)量就會(huì)造成DNS服務(wù)器解析域名超時(shí)。根據(jù)微軟的統(tǒng)計(jì)數(shù)據(jù),一臺(tái)DNS服務(wù)器所能承受的動(dòng)態(tài)域名查詢的上限是每秒鐘9000個(gè)請(qǐng)求。而一臺(tái)P3的PC機(jī)上可以輕易地構(gòu)造出每秒鐘幾萬個(gè)域名解析請(qǐng)求,足以使一臺(tái)硬件配置極高的DNS服務(wù)器癱瘓,由此可見DNS服務(wù)器的脆弱性。抗D保在全國多個(gè)城市采用分布式集群方式部署了上千臺(tái)高效DNS服務(wù)器,從而保證各個(gè)地區(qū)的查詢響應(yīng)速度。抗D保的高防DNS服務(wù),可有效解決突發(fā)的上億級(jí)別的隨機(jī)HOSTA記錄查詢攻擊、遞歸DNS穿透攻擊、DNS流量攻擊等多種針對(duì)域名解析的攻擊請(qǐng)求。抗D保防御DNS攻擊效果示意三、混合攻擊:流量與技巧并用在實(shí)際情況中,攻擊者只求達(dá)到打垮對(duì)方的目的,發(fā)展到現(xiàn)在,高級(jí)攻擊者已經(jīng)不傾向使用單一的攻擊手段作戰(zhàn)了,而是根據(jù)目標(biāo)系統(tǒng)的具體環(huán)境靈動(dòng)組合,發(fā)動(dòng)多種攻擊手段,既具備了海量的流量,又利用了協(xié)議、系統(tǒng)的缺陷,盡其所能地展開攻勢。對(duì)于被攻擊目標(biāo)來說,需要面對(duì)不同協(xié)議、不同資源的分布式的攻擊,分析、響應(yīng)和處理的成本就會(huì)大大增加。抗D保擁有國內(nèi)最大的抗D集群,使用騰訊宙斯盾流量清洗設(shè)備并結(jié)合由知道創(chuàng)宇研發(fā)的Anti-DDoS引擎,5秒發(fā)現(xiàn)惡意攻擊,10秒快速阻斷,2T帶寬儲(chǔ)備,通過多種防御手段,防御各種類型、形態(tài)的DDoS攻擊,包括基于網(wǎng)絡(luò)層的攻擊,如TCPFlood、UDPFlood、ICMPFlood,以及應(yīng)用層攻擊,類似HTTPFlood這種試圖耗盡服務(wù)器資源的攻擊,同時(shí)可以有效防御各種反射攻擊和僵尸網(wǎng)絡(luò)攻擊。面對(duì)一次次攻擊,即使是去年10月讓美國半個(gè)互聯(lián)網(wǎng)癱瘓的DDoS攻擊事件,也只是讓很多人小心臟稍微顫抖了幾下,在大家的印象中,DDoS只是一陣海嘯,很快就能恢復(fù)了往日的平靜。但是,DDoS在互聯(lián)網(wǎng)發(fā)展進(jìn)程中已經(jīng)留下了太多不可磨滅的破壞,許多企業(yè)就此一蹶不振。而且隨著互聯(lián)網(wǎng)+的不斷推進(jìn),商業(yè)競爭的愈演愈烈,它的危害越來越大,任何企業(yè)組織都應(yīng)該考慮自己的DDoS防護(hù)方案,而不是成為攻擊的炮灰,也盡量避免遭受攻擊后再亡羊補(bǔ)牢。
破解世界性技術(shù)難題! GTS讓分布式事務(wù)簡單高效 互聯(lián)網(wǎng)視頻課程
近日,2017云棲大會(huì)·深圳峰會(huì)如期舉行,多項(xiàng)阿里云新產(chǎn)品對(duì)外發(fā)布。在企業(yè)級(jí)互聯(lián)網(wǎng)架構(gòu)分會(huì)場,來自阿里中間件(Aliware)的技術(shù)專家及合作伙伴,為現(xiàn)場參會(huì)嘉賓帶來最新的傳統(tǒng)IT架構(gòu)到企業(yè)級(jí)互聯(lián)網(wǎng)架構(gòu)跨越式升級(jí)、實(shí)現(xiàn)互聯(lián)網(wǎng)轉(zhuǎn)型的產(chǎn)品及解決方案。其中高級(jí)技術(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ái)往往是由一系列分布式系統(tǒng)構(gòu)建而成,平臺(tái)和技術(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)對(duì)所有場景,很難兼顧事務(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)品的典型不足是性能低下,這對(duì)于互聯(lián)網(wǎng)大并發(fā)需求下的多數(shù)企業(yè)是無法接受的。國外具有幾十年歷史和技術(shù)沉淀的基于XA模型的商用分布式事務(wù)產(chǎn)品,在相同軟硬件條件下,開啟分布式事務(wù)后吞吐經(jīng)常有數(shù)量級(jí)的下降。第三是易用性:為了滿足一致性和高性能要求,出現(xiàn)了一些特定場景下的分布式事務(wù)方案,但通常會(huì)限制用戶用法,對(duì)業(yè)務(wù)侵入性強(qiáng),無法做到簡單易用,帶來更多開發(fā)成本。世界級(jí)應(yīng)用場景,催生世界級(jí)分布式事務(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ù)雜,工作量大,對(duì)應(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通過阿里云對(duì)外公測,外部改名為全局事務(wù)服務(wù)(GlobalTransactionService,簡稱GTS)。GTS總體架構(gòu)圖在整體架構(gòu)方面,GTS由三個(gè)組件組成:客戶端(GTS-Client),資源管理器(RM),事務(wù)協(xié)調(diào)器(GTS-Server)。客戶端與事務(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對(duì)業(yè)務(wù)無侵入,真正做到業(yè)務(wù)與事務(wù)分離,開發(fā)者可以集中精力于業(yè)務(wù)本身。在技術(shù)創(chuàng)新方面,GTS也走在了行業(yè)前沿。項(xiàng)目負(fù)責(zé)人阿里高級(jí)技術(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è)級(jí)分布式事務(wù)服務(wù)產(chǎn)品,全局事務(wù)服務(wù)GTS兼顧了事務(wù)一致性,高性能與易用性。在滿足事務(wù)ACID的前提下,普通配置的單服務(wù)器就可以達(dá)到15000TPS以上的超強(qiáng)性能(兩個(gè)小時(shí)內(nèi)完成1億多筆業(yè)務(wù)),3臺(tái)8核16G內(nèi)存虛機(jī)組成的服務(wù)器集群可以支撐1萬TPS以上的分布式事務(wù),與同類產(chǎn)品相比,性能優(yōu)勢明顯。另外簡單易用對(duì)業(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提供了針對(duì)消息系統(tǒng)以及常見關(guān)系型數(shù)據(jù)庫的操作入口,保證數(shù)據(jù)庫操作和發(fā)送消息要么同時(shí)成功、要么同時(shí)失敗。4、跨服務(wù)的事務(wù)場景:隨著業(yè)務(wù)復(fù)雜度提升,大多企業(yè)會(huì)對(duì)業(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è)級(jí)互聯(lián)網(wǎng)架構(gòu)平臺(tái)據(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ù)鏈路級(jí)事務(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è)級(jí)互聯(lián)網(wǎng)架構(gòu)平臺(tái),為全球企業(yè)和客戶提供服務(wù)。更多AliwareGTS產(chǎn)品服務(wù)和技術(shù)細(xì)節(jié),請(qǐng)?jiān)L問官網(wǎng): 相關(guān)新聞 2016-04-19 2016-06-13 2016-10-24 2016-11-04 2017-12-29