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