9月16日,Distributed Cloud|2021全球分布式云大會(huì)·上海站隆重召開(kāi)。在全球分布式云大會(huì)不懈布道下,云計(jì)算行業(yè)對(duì)分布式云的關(guān)注度愈發(fā)高漲,以全球分布式云聯(lián)盟成員為代表,涌現(xiàn)出了大量分布式云技術(shù)和實(shí)踐成果,為分布式云計(jì)算發(fā)展夯實(shí)了基礎(chǔ)。
2021全球分布式云大會(huì)為分布式云計(jì)算發(fā)展再添強(qiáng)大推力,本次大會(huì)共設(shè)有分布式云主題報(bào)告會(huì)、邊緣云論壇、云原生專(zhuān)題論壇、分布式數(shù)據(jù)庫(kù)論壇四大論壇,圍繞分布式云、邊緣算力、云原生、分布式架構(gòu)等技術(shù)與實(shí)踐展開(kāi)。全球分布式云聯(lián)盟聯(lián)合阿里云、騰訊云、Google Cloud、中興通訊、京東云、安邁云、網(wǎng)心科技等國(guó)內(nèi)外分布式云頂尖技術(shù)服務(wù)商,共話分布式云創(chuàng)新新趨勢(shì),共謀云計(jì)算變革新未來(lái),共享分布式云計(jì)算新紅利!
在9月16日下午召開(kāi)的分布式數(shù)據(jù)庫(kù)論壇上,Google Cloud 架構(gòu)師 郭斌發(fā)表了題為《Cloud Spanner在全球游戲場(chǎng)景下的使用》的精彩演講。
郭斌先生演講的主要內(nèi)容是Google Cloud Spanner云數(shù)據(jù)庫(kù)如何支撐全球游戲發(fā)展,并通過(guò)這樣的視角來(lái)揭示Spanner作為云原生的分布式數(shù)據(jù)庫(kù)是如何解決行業(yè)內(nèi)具體問(wèn)題的。
郭斌先生將游戲行業(yè)對(duì)數(shù)據(jù)庫(kù)的要求進(jìn)行了總結(jié):
第一,數(shù)據(jù)庫(kù)一定要有非常高的SLA。目前來(lái)看,Spanner是能夠提供最高99.999%的SLA,可以滿足到絕大部分客戶對(duì)SLA的需求。Google Cloud為中國(guó)出海的客戶群體提供服務(wù),其中就包括游戲出海、跨境電商、跨境金融服務(wù),以及社交、媒體等泛娛樂(lè)產(chǎn)品/服務(wù)。其中游戲、跨境電商以及跨境金融服務(wù)的客戶對(duì)數(shù)據(jù)庫(kù)的高可用性要求非常高。
第二,游戲?qū)π阅艿囊蠓浅8?,需要?shù)據(jù)庫(kù)能夠很好地支撐橫向擴(kuò)展能力。橫向擴(kuò)展能力包括擴(kuò)縮容;當(dāng)需要收縮性能時(shí),也可以便捷地實(shí)現(xiàn)收縮。為了闡明Spanner的特點(diǎn),郭斌老師舉例說(shuō),今年的秋季某廠商發(fā)布一款游戲,這是一款面向全球的游戲,預(yù)計(jì)有數(shù)百萬(wàn)玩家同時(shí)在線。在做準(zhǔn)備時(shí),Google按照百萬(wàn)玩家規(guī)模來(lái)部署Spanner數(shù)據(jù)庫(kù),建立了幾百個(gè)節(jié)點(diǎn)的Cloud Spanner的實(shí)例,部署完成后效果非常好。但游戲上線后并沒(méi)有達(dá)到預(yù)期效果,在線玩家遠(yuǎn)不足百萬(wàn),Google很容易地把Spanner從幾百個(gè)節(jié)點(diǎn)收縮成一百節(jié)點(diǎn)左右,回收資源,節(jié)省成本。如果游戲經(jīng)過(guò)推廣,吸引了更多玩家,Cloud Spanner可以繼續(xù)增加節(jié)點(diǎn),實(shí)現(xiàn)很好的橫向擴(kuò)展。
關(guān)于Spanner如何面對(duì)游戲行業(yè)的技術(shù)挑戰(zhàn),郭斌老師表示,游戲行業(yè)通常需要三種服務(wù)。第一種,游戲服本身,需要用計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)來(lái)承載;第二種,平臺(tái)服務(wù),如注冊(cè)、充值、聊天、郵件。第三種,游戲的數(shù)據(jù)分析,包括玩家行為分析,游戲是特別注重玩家體驗(yàn)的,基于數(shù)據(jù)分析的結(jié)果,可以幫助游戲廠商更好的匹配游戲玩家需求。Google在這三個(gè)場(chǎng)景中可以很好地滿足到客戶的要求。從游戲類(lèi)型來(lái)看,單人游戲、回合制游戲、實(shí)時(shí)對(duì)戰(zhàn)游戲、完整世界游戲,對(duì)數(shù)據(jù)庫(kù)的要求是越來(lái)越高的,這也是Cloud Spanner擅長(zhǎng)之處。
前面講到了高可用性的SLA,還有一點(diǎn)就是,一旦數(shù)據(jù)庫(kù)變成云服務(wù)之后,用戶往往擔(dān)心停機(jī)運(yùn)維帶來(lái)的困擾,針對(duì)這一擔(dān)憂,Spanner是無(wú)需停機(jī)運(yùn)維的,不存在運(yùn)維停機(jī)時(shí)間。
此外,Cloud Spanner能夠自動(dòng)完成數(shù)據(jù)庫(kù)Sharding,而不是手動(dòng)Sharding,從而更好地支撐橫向擴(kuò)展和收縮。最后,Cloud Spanner作為一種云原生服務(wù),它可以降低很多管理和運(yùn)維成本。
開(kāi)啟Cloud Spanner之旅
Google 于2007年左右自研完成并推出了Spanner數(shù)據(jù)庫(kù),作為Google 內(nèi)部關(guān)系數(shù)據(jù)庫(kù)的首選。2017年,Spanner成為Google云服務(wù)的一種,賦能給客戶使用。
Spanner是比較有特點(diǎn)的數(shù)據(jù)庫(kù)云服務(wù),關(guān)于整體的特點(diǎn),郭斌老師形象地將它比喻成金庸武俠小說(shuō)中的小無(wú)相功。上層對(duì)外提供關(guān)系型數(shù)據(jù)庫(kù)的要素,事務(wù)、SQL等等。底層是NoSQL技術(shù),Spanner把兩者的特點(diǎn)糅合在一起。
郭斌老師認(rèn)為,Spanner代表了數(shù)據(jù)庫(kù)發(fā)展的一個(gè)方向,代表了一種未來(lái)。究其原因,Spanner即是NewSQL,又是云原生數(shù)據(jù)庫(kù),它把數(shù)據(jù)庫(kù)和云的能力結(jié)合在一起對(duì)外提供服務(wù)。它用到了分布式計(jì)算領(lǐng)域、NoSQL領(lǐng)域的最新技術(shù),例如在分布式存儲(chǔ)領(lǐng)域的LMST、分布式仲裁協(xié)議的PAXOS協(xié)議,Spanner是業(yè)界第一個(gè)將PAXOS協(xié)議工程化實(shí)現(xiàn)的業(yè)界翹楚。Spanner使用Truetime跨區(qū)域的分布式事務(wù)。
Spanner作為云原生數(shù)據(jù)庫(kù)是基于谷歌的網(wǎng)絡(luò)基礎(chǔ)設(shè)施實(shí)現(xiàn),特別有利于它解決跨區(qū)域的延時(shí)問(wèn)題,通過(guò)TrueTime實(shí)現(xiàn)分布式事務(wù)和外部強(qiáng)一致性。Spanner在軟件堆棧里完整實(shí)現(xiàn)了PAXOS協(xié)議,以及自動(dòng)Sharding。
郭斌老師總結(jié)說(shuō),Spanner的特點(diǎn)是能夠簡(jiǎn)化管理、快速自動(dòng)故障恢復(fù)、自動(dòng)Sharding,無(wú)需手動(dòng)分庫(kù)分表,、沒(méi)有停機(jī)運(yùn)維時(shí)間。
關(guān)于跨區(qū)域配置方面,Spanner有兩種配置,一種是在一個(gè)區(qū)域內(nèi)部,數(shù)據(jù)有三個(gè)副本的。在這三個(gè)副本當(dāng)中,自動(dòng)選出主節(jié)點(diǎn)中,當(dāng)故障發(fā)生時(shí),會(huì)自動(dòng)恢復(fù)??鐓^(qū)域情況下,會(huì)有四份或更多數(shù)據(jù)實(shí)現(xiàn)自動(dòng)的跨區(qū)域切換。
郭斌老師提到,著名游戲《精靈寶可夢(mèng)GO(Porkemon GO)》的底層,就是使用Spanner數(shù)據(jù)庫(kù)來(lái)支撐全球玩家的。此外,萬(wàn)代南夢(mèng)宮旗下的一款A(yù)RPG類(lèi)游戲,也是基于Spanner實(shí)現(xiàn)的對(duì)全球數(shù)百萬(wàn)玩家的支持。Spanner數(shù)據(jù)庫(kù),在游戲行業(yè),特別是日本游戲行業(yè)非?;鸨?,日本頭部的游戲客戶普遍使用了Spanner數(shù)據(jù)庫(kù)來(lái)支撐業(yè)務(wù)發(fā)展。中、日、韓都是游戲大國(guó),游戲產(chǎn)出很多,但國(guó)內(nèi)的不少游戲的架構(gòu)后臺(tái)偏老舊,需要一場(chǎng)變革,需要對(duì)游戲進(jìn)行“現(xiàn)代化改造”,Google Cloud也非常愿意去助力中國(guó)游戲產(chǎn)業(yè)去實(shí)現(xiàn)這一次變革!