自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

容器技術如何改變游戲服務器托管行業(yè)

云計算
容器系統(tǒng)確實能夠協(xié)助解決各個行業(yè)當中的常見問題,特別是游戲服務器領域中的問題,包括可移植能力、關聯(lián)性以及資源控制等等。容器能夠解決游戲行業(yè)中的諸多難題,但其未能被廣泛接納亦是有原因的。

 過去12個月以來,我們已經(jīng)見證了Docker容器技術在游戲服務器領域諸多激動人心的發(fā)展態(tài)勢。

這款核心產(chǎn)品在成熟度水平方面已經(jīng)迎來顯著提升,而用戶基礎也實現(xiàn)可觀增長,同時亦出現(xiàn)了一部分能夠解決多種關鍵性阻礙的先進功能、能夠幫助游戲服務器以及其它較為嚴苛的應用類型實現(xiàn)在容器環(huán)境中的運行。我們還迎來了一系列激動人心的新型產(chǎn)品及技術發(fā)展成果,這也進一步證明了容器技術在游戲服務器領域的可觀發(fā)展?jié)摿Α?/p>

作為一名熱愛游戲產(chǎn)業(yè)的軟件工程師,我一直把自己的業(yè)余時間用在同游戲相關的項目開發(fā)工作身上。我還就游戲服務器中的自動化機制進行過一番思考,并將借今天這篇文章與大家探討過去12個月當中Docker世界給游戲服務器乃至整個游戲業(yè)界帶來的影響。

[[161634]]

“2015年在游戲服務器領域出現(xiàn)了眾多激動人心的@Docker開發(fā)成果。”——@brendanfosberry

盡管容器技術已經(jīng)被世界范圍內(nèi)的眾多Web應用所采納,但其普及速度在游戲行業(yè)則仍顯得比較遲緩。

從傳統(tǒng)角度講,游戲行業(yè)一般高度關注截止時間與交付能力,而不太重視可復用代碼、開發(fā)人員體驗或者代碼庫壽命。這類以交付為關注重點的開發(fā)工作能夠顯著實現(xiàn)創(chuàng)新,但創(chuàng)新范疇往往被限制在核心產(chǎn)品領域之內(nèi)。有鑒于此,游戲行業(yè)在其核心優(yōu)勢層面拿出了眾多激動人心的成果——包括人工智能、渲染、物理效果、分布式模擬與預測等等,但在周邊或者附帶服務領域卻沒能實現(xiàn)多少值得一提的新技術。

正因為如此,Web服務行業(yè)在公共API及工具、容器技術乃至新型語言與框架領域一直保持著領先優(yōu)勢。而將其與游戲行業(yè)中典型的閉源編譯產(chǎn)品相結(jié)合,我們就能清楚地看到Docker及其它容器技術為什么會在擁有可觀適應度的情況下仍然未能被游戲業(yè)所廣泛接受。事實上,容器系統(tǒng)確實能夠協(xié)助解決各個行業(yè)當中的常見問題,特別是游戲服務器領域中的問題,包括可移植能力、關聯(lián)性以及資源控制等等。

容器能夠解決游戲行業(yè)中的諸多難題,但其未能被廣泛接納亦是有原因的。

這并不是說Docker并沒能找到自己在游戲行業(yè)中的切入點。Improbable.io就已經(jīng)開始逐步利用Docker支撐其模擬平臺,而就在今年早些時候EA公司亦就自身對Docker的應用進行了說明。在這兩個案例當中,Docker都負責對游戲服務器者托管——但在托管的同時,亦負責提供一套高度自動化的實現(xiàn)平臺。

Thomas Shaw曾在DockerCon 2015大會上做出過精彩的演講,探討如何利用Docker推動文化變革。Demonware公司利用Docker工具集作為其開發(fā)流程中的組成部分,旨在支持長期運行項目并減少不同項目之間跨越性關聯(lián)性所引發(fā)的問題數(shù)量。這無疑是一種值得借鑒的將Docker應用在廣泛相關場景之下的實例,意味著我們并不需要過多考慮其管理的到底是何種最終產(chǎn)品或者托管方案。

在Docker中托管游戲服務器的現(xiàn)實障礙

正如我們所見,Docker已經(jīng)被游戲行業(yè)所接納,并搭配通用型工作流程或者作為集中性高自動化托管環(huán)境容納應用程序的獨立運行。這些重要進展意味著各游戲服務器能夠被作為一個整體,并通過合適的容器化調(diào)整實現(xiàn)種種顯著收益。

就目前而言,游戲服務器擁有以下幾種重要表現(xiàn)形式:

  1. 自主托管。 EA等大型廠商的運營思路導致各部門很難運行屬于自己的游戲服務器,但他們可以向游戲玩家提供一套強大的服務器資源池以承載各類公共與私人競賽平臺。這種同質(zhì)化游戲服務器環(huán)境意味著容器化技術能夠輕松進行部署,并為各游戲服務器帶來高度自動化水平。不過這同時意味著通過mod以及定制化游戲建模實現(xiàn)創(chuàng)新的空間被大大壓縮。
  2. 非托管。在非大型多人游戲當中,部分游戲玩家會在短時間內(nèi)充當游戲主機,這意味著游戲廠商不需要為其提供專門的游戲服務器。在這類情況下,該服務器通??杀患芍劣螒蚩蛻舳水斨?,而容器化技術則很難再有用武之地。由于游戲以本地方式進行托管,因此游戲玩家能夠?qū)?nèi)容擁有更充裕的控制空間。
  3. 混合型。在大多數(shù)情況下,游戲服務器都會由專門的服務器充當并供用戶使用,但開發(fā)人員也可以提供一整套官方服務器資源池,以供游戲玩家獲得更理想的游玩體驗。在專用服務器當中,用戶能夠以任何適合自己的方式進行游戲內(nèi)容托管,而容器化選項也能夠發(fā)揮重要作用。這也是我們應當高度關注的使用方式。

以上提到的幾種不同使用模式會極大影響游戲服務器管理員的工作內(nèi)容。很明顯,在托管環(huán)境當中,這很像是由大量自動運行服務器所支撐起的DevOps團隊。

而在使用專用服務器時,用戶群體則往往變得更加多樣化。除了傳統(tǒng)托管平臺——包括開發(fā)商自身的平臺以及某些獨立組織提供的平臺——之外,大家往往還能夠看到一些由小型游戲團隊及公會托管的,由數(shù)臺服務器構成的運行平臺或者獨立承載設備。當然,也有一些由個別玩家運行的臨時性服務器存在。

這些團隊之間的技術水平往往存在著巨大差異,而這會顯著影響Docker等技術方案的具體實現(xiàn)效果。設置過程越簡單、管理員的技術水平越低,那么用戶在使用容器化等非標準化托管方案時的體驗也就越差。

考慮到這一點,我們也就理解了為什么Docker往往無法成為游戲服務器技術體系中的常見組成部分。由于不同游戲服務器需要匹配不同的持久性、配置與網(wǎng)絡架構選項,因此其復雜程度也相當之高,這意味著游戲服務器往往會給容器技術帶來諸多限制條件。

“游戲服務器往往會給容器技術帶來諸多限制條件。”——@brendanfosberry

雖然我們能夠利用容器完美解決很多與依賴性相關的問題,但其它問題卻往往很難從容器中找到答案。一般來講,用戶比較喜歡利用IP地址接入特定游戲服務器,而且開發(fā)人員通常并不會將高可用性作為游戲服務器設計中的必要組成部分。

這些問題關乎標準化、復雜性以及具體理解,也明確解答了為什么很少有人愿意利用容器作為游戲服務器托管平臺。盡管如此,仍有一部分早期容器鏡像以此為目標,旨在實現(xiàn)包括《我的世界》以及其它一些游戲的服務器運行平臺。

容器技術確實能夠解決多種常見問題,包括隔離性、資源控制、速度保障、可移植能力以及其它各類游戲服務器需要考慮的因素。目前大多數(shù)游戲服務器托管廠商都以速度/成本指標作為優(yōu)先考量,意味著其屬于一種成本驅(qū)動型解決方案。而容器自身具備的潛在效率與速度優(yōu)勢則讓容器化成為游戲行業(yè)無法忽略的重要選項,只不過在廣泛應用方面仍存在著一系列障礙。

2015年內(nèi)最具顛覆性的Docker變化

在過去12個月當中,核心Docker產(chǎn)品及其它相關方案已經(jīng)迎來了巨大變化,而這也會給容器化機制在游戲服務器領域的表現(xiàn)產(chǎn)生顯著影響。

CRIU

今年年內(nèi)容器技術最引人注目的變化莫過于對CRIU的支持能力,DockerCon 2015大會就完美展示了《雷神之錘》的遷移案例。

“從游戲角度來看,@Docker最顯著的變化就是面向@_criu_的支持能力。”

作為早期演示案例,其證明了應如何將CRIU作為容器基礎設施的組成部分,從而幫助我們在最低影響前提下對運行中的特定應用進行實時遷移。CRIU應該會通過runC庫成為Docker核心功能中的組成部分。

由于CRIU能夠保留內(nèi)存數(shù)據(jù)、進程甚至是開放接口,因此其應該可以同各類不同游戲服務器乃至應用程序類型相兼容。這意味著大多數(shù)現(xiàn)代游戲服務器都可以借此輕松從一臺主機遷移至另一臺,甚至實現(xiàn)跨數(shù)據(jù)中心遷移——而且除了一些意料之外的延遲,接入游戲服務器的玩家仍能繼續(xù)游玩。

很明顯,這種設計思路同不少傳統(tǒng)游戲服務器完全不同,特別是那些高度依賴于相關服務器網(wǎng)絡架構的集群化及其它典型大規(guī)模Web服務。有鑒于此,CRIU可能無法與某些游戲服務器直接兼容。

Docker插件

Weave、Calico以及其它一些容器網(wǎng)絡技術已經(jīng)擁有一段時間的發(fā)展過程。然而,隨著Docker插件框架的出現(xiàn),上述技術恐怕將逐步退出歷史舞臺。強大的插件支持能夠雖然值得贊賞,但其持續(xù)性往往很難滿足游戲服務器對于核心功能的要求。

不少游戲服務器會利用主服務器清單進行自我注冊,并對其IP地址以及具體端口進行自動化報告。這意味著各客戶端能夠自動定位并接入游戲服務器,但同時也意味著其設立了一種容器范例所無法兼容的簡單網(wǎng)絡堆棧架構。

通過使用網(wǎng)絡插件,我們能夠發(fā)揮路由方案的固有優(yōu)勢,使得容器IP在這套基礎設施中成為優(yōu)先項目。這不僅可以顯著簡化動態(tài)路由機制的實現(xiàn)方式,同時也能夠帶來額外的助益,使得IP地址在整套堆棧內(nèi)自由遷移以保持同游戲服務器實例的持續(xù)連接。這種特性對于那些通過連接信息保存IP及端口的簡單服務器實現(xiàn)方法而言非常重要。

更為重要的是,通過使用Docker網(wǎng)絡插件,我們能夠?qū)RIU功能集納入到更為廣泛的游戲服務器當中,從而實現(xiàn)更加復雜的網(wǎng)絡架構。

Rancher與SpotInst

去年11月,Rancher發(fā)布了SpotInst集成方案。這套集成方案能夠?qū)potInst等服務的復雜性進行抽象化處理,從而實現(xiàn)任意類型基礎設施的托管任務——這對于以性能表現(xiàn)為第一訴求的游戲服務器行業(yè)而言不啻為一大福音。

AWS Spot實例與谷歌Preemptible虛擬機都以臨時性方式為基礎使用備用集群容量,且有權在通知發(fā)布后的短時間內(nèi)進行虛擬機的反激活與移除。利用這種低成本、低正常運行時間保障的主機往往很合適游戲服務器的既定需要,因為游戲服務器一般對于正常運行時間并不會做出太高要求。事實上,重啟與連接頻繁斷開幾乎成為游戲服務器中的一種常態(tài)。

而在SpotInst集成方案的幫助下,Rancher用戶能夠立足于由動態(tài)spot實例構成的Docker集群實現(xiàn)容器托管能力,且無需擔心由容器遷移及主機替換管理所帶來的復雜性因素。

《Docker世界》(Dockercraft)

這是一套源自《我的世界》的Docker mod,首次亮相于DockerCon歐洲大會。與游戲相關的討論與自主修改一直極具人氣,《Docker世界》當然也不例外。受到《Docker毀滅戰(zhàn)士》的啟發(fā),這套mod允許用戶利用游戲內(nèi)置的各種方塊素材創(chuàng)建并控制容器環(huán)境。

我們永遠樂于見證各類能夠?qū)碗s系統(tǒng)進行整合與控制的新型途徑。就個人而言,我迫不及待地希望見證Docker版本《太空工程師》的出現(xiàn)——盡管這類mod的具體使用仍然存在諸多限制。而從游戲服務器的角度出發(fā),這能夠使容器設計原則變得更加簡單,并以深入淺出的方式幫助喜愛游戲的朋友們了解容器方案。

這一切對2016年意味著什么?

很明顯,容器技術將在游戲行業(yè)中得到更為普遍的接納,而Docker產(chǎn)品與整個容器生態(tài)系統(tǒng)的演進也將給游戲服務器帶來巨大助益。我們可以高度期待著利用Docker作為平臺組成部分的更多大規(guī)模自我托管廠商加入到EA等企業(yè)的行列中來,而游戲開發(fā)團隊也將繼續(xù)把Docker納入到自身開發(fā)流程。

“我們可以期待在2016年中看到更多游戲廠商將Docker作為其平臺的組成部分。”

而我個人更加關注的其實是CRIU、SpotInst以及其它網(wǎng)絡插件在整體公共游戲服務器托管行業(yè)中的實際表現(xiàn)。這些要素都將在該高度競爭的市場當中帶來巨大顛覆,不過必須承認其廣泛普及仍然面臨著一些障礙。

Docker會帶來陡峭的學習曲線

不少游戲服務器管理員只了解Windows環(huán)境,而且其中相當一部分甚至只知道基礎性的管理與托管知識以實現(xiàn)服務器的啟動與運行。Windows支持能力已經(jīng)顯著緩和了容器技術的學習曲線,而《Docker世界》等工具的出現(xiàn)也將幫助人們快速了解其核心概念。

不存在兩臺一模一樣的游戲服務器

不同的游戲服務器擁有著不同的應用與操作系統(tǒng)依賴性,而Docker正是一款能夠解決此類難題的完美工具。

盡管有助于廣泛解決應用程序依賴性問題,但不同游戲服務器之間的運行方式仍然存在顯著差異。某些游戲存在著交互性控制臺,也有一些會面向stdout進行寫入。不同的服務器采用不同的配置方案,且對持續(xù)性的要求也有所區(qū)別。

閉源

絕大多數(shù)游戲服務器承載閉源應用程序,而且在默認情況下無法輕易實現(xiàn)容器化。另外,根據(jù)社區(qū)要求實現(xiàn)標準化也存在著極高難度。

隨著Docker在游戲行業(yè)當中獲得越來越廣泛的普及水平,希望這一切能夠推動游戲服務器實現(xiàn)進入更具兼容性的新階段。

總結(jié)陳詞

縱觀新的一年,我們可以期待看到容器技術的全面改進。將有更多Docker工具與定制化容器服務逐步出爐以幫助我們降低學習成本; 另外,隨著大型廠商對容器的重視,游戲服務器也應當在設計方面向容器兼容性做出傾斜。

作為當前的主要障礙,標準化與實用性缺失問題仍然嚴重影響到容器技術在游戲行業(yè)中的普及,而這一切都能夠通過游戲服務器在工具與常見容器化問題的抽象化處理方面的努力得到緩解。我個人也在通過gscs項目解決此類難題——這是一套容器規(guī)范,旨在降低對不同游戲服務器進行容器化調(diào)整時的復雜性。

只要擁有良好的標準化水平與跨平臺容器兼容能力,我們甚至能夠看到容器方案成為未來專用游戲服務器的標準配置。那么大家在新的一年當中期待著怎樣的游戲服務器轉(zhuǎn)變態(tài)勢呢?在各位看來,游戲行業(yè)中的顛覆性機制會以怎樣的方式于何時出現(xiàn)?您認為哪些項目將給游戲服務器托管甚至是整個游戲行業(yè)帶來巨大變革?

我期待著新的一年中游戲服務器領域能夠迎來更多新鮮元素,現(xiàn)在也是時候?qū)⑷萜骷夹g納入游戲體系了。

責任編輯:xinxiaoliang 來源: DockOne
相關推薦

2020-03-02 17:49:40

大型游戲服務器

2019-09-16 15:30:51

2018-09-19 09:17:13

2016-08-09 19:36:48

2018-06-04 10:30:47

游戲服務器框架

2012-07-09 09:08:01

云游戲服務

2019-09-10 09:40:11

游戲服務器框架

2019-02-20 13:57:48

游戲服務器框架

2017-07-19 08:30:31

2018-11-28 09:53:50

游戲服務器線程

2017-07-20 10:35:51

2017-07-19 16:17:53

2014-04-10 09:51:36

2019-08-01 15:25:17

Http服務器協(xié)議

2018-12-17 10:59:50

游戲服務器結(jié)構

2011-08-05 14:26:02

2018-05-18 10:22:39

沖突游戲服務器

2017-11-30 12:39:06

2009-02-10 15:35:00

網(wǎng)絡游戲服務器網(wǎng)絡游戲

2021-11-12 15:26:41

區(qū)塊鏈游戲技術
點贊
收藏

51CTO技術棧公眾號