成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

淺談滾服游戲如果實(shí)現(xiàn)一鍵合服

UnixAgain / 615人閱讀

摘要:而滾服游戲則一般會(huì)設(shè)計(jì)游戲在線上限,比如,達(dá)到上限則新開一組服務(wù)器,并引導(dǎo)用戶進(jìn)入新區(qū)。這就導(dǎo)致了新服一開,玩家即蜂擁而至,爭(zhēng)先恐后練級(jí)升裝備,以求最快速進(jìn)入排行榜前列,如果努力一番發(fā)現(xiàn)落后了,可能就只能坐等下一個(gè)新服。

原文地址-石匠的Blog:http://www.bugclosed.com/post/12

背景

近幾年的游戲行業(yè)中,出現(xiàn)了各種各樣的滾服游戲,包括頁(yè)游,手游,H5游戲等等。滾服游戲和大服游戲的區(qū)別在于同時(shí)游戲人數(shù),大服游戲是有很多用戶在一起玩,甚至幾十上百萬(wàn)玩家。而滾服游戲則一般會(huì)設(shè)計(jì)游戲在線上限,比如3000,達(dá)到上限則新開一組服務(wù)器,并引導(dǎo)用戶進(jìn)入新區(qū)。

滾服模式是游戲類型,技術(shù)架構(gòu)和急功近利的坑錢策略等因素共同決定的,大服游戲包括絕大部分端游,以及類COC這樣類型的游戲。另外,雖然像英雄聯(lián)盟,王者榮耀這樣的游戲也分服架構(gòu),但是這個(gè)并不是我理解中的“滾服游戲“,首先他們雖然分服,但是每個(gè)服的人數(shù)上限也是可以高達(dá)幾十萬(wàn),他們并不會(huì)發(fā)生頻繁的合服情況。而滾服游戲更多是通過(guò)游戲策略設(shè)計(jì),鼓勵(lì)玩家花錢走捷徑透支游戲生命周期,甚至幾天即可獨(dú)霸一個(gè)服務(wù)器。從而導(dǎo)致其他玩家望塵莫及,即使是花錢追也性價(jià)比極低,還不如進(jìn)入一個(gè)新服重新開始。這就導(dǎo)致了新服一開,玩家即蜂擁而至,爭(zhēng)先恐后練級(jí)升裝備,以求最快速進(jìn)入排行榜前列,如果努力一番發(fā)現(xiàn)落后了,可能就只能坐等下一個(gè)新服。這也導(dǎo)致了新服人數(shù)火爆,老服慢慢變成人煙凋零的村服,甚至沒(méi)人的死服。 為了能夠節(jié)約服務(wù)器帶寬資源,同時(shí)讓少數(shù)剩余的玩家能夠玩得起來(lái),就必須要要進(jìn)行頻繁的合服,把若干個(gè)互不相干的服務(wù)器玩家,合并到一個(gè)服里面;這樣又開啟一波玩家競(jìng)爭(zhēng)和收割。

合服

前面提到滾服和大服兩種模式,不管是哪種模式,合服的是時(shí)候,是需要將多個(gè)服的游戲數(shù)據(jù)合并在一起。不論數(shù)據(jù)庫(kù)采用的是mysql,redis或者mongodb,數(shù)據(jù)庫(kù)表的合并都是需要做到多服數(shù)據(jù)合并后的相容問(wèn)題,不發(fā)生沖突或者遺漏。比如mysql,需要保證各個(gè)表合并時(shí)主鍵不沖突,如果業(yè)務(wù)有昵稱不重復(fù)的設(shè)定,還需要保證昵稱不重復(fù)。有時(shí)候合并還需要?jiǎng)h除僵尸數(shù)據(jù),此時(shí)需要注意刪除的數(shù)據(jù)之間的邏輯關(guān)系是否一并清除,不能導(dǎo)致數(shù)據(jù)不一致,比如清除了一個(gè)半年不上線的玩家賬號(hào)數(shù)據(jù),但是在好友或者幫派中還殘留關(guān)系。

單服架構(gòu)

業(yè)務(wù)模式在一定程度上會(huì)決定技術(shù)的選型,在滾服模式里面,游戲的在線人數(shù)要求都比較低,通常一個(gè)單進(jìn)程架構(gòu)就足以支持。所謂單服架構(gòu),并不一定整個(gè)后臺(tái)只有一個(gè)服務(wù)器進(jìn)程,可能會(huì)有其他輔助進(jìn)程,但是主游戲邏輯只會(huì)有一個(gè)進(jìn)程,同時(shí)架構(gòu)也不支持游戲進(jìn)程伸縮,達(dá)到該進(jìn)程或者物理服務(wù)器上限,即從運(yùn)營(yíng)上重新開服,引導(dǎo)新的玩家進(jìn)入新區(qū),單服架構(gòu)可以簡(jiǎn)單理解為如下架構(gòu)模式:

從圖中可見,每組服務(wù)器有自己獨(dú)立的游戲進(jìn)程和數(shù)據(jù)庫(kù),不同服務(wù)器之間的用戶是物理隔離的。該架構(gòu)的優(yōu)勢(shì)是簡(jiǎn)單易開發(fā),服務(wù)器獨(dú)立隔離,某組服務(wù)器需要停服調(diào)整或者宕機(jī),不會(huì)影響其他服。缺點(diǎn)也來(lái)自單服獨(dú)立部署,每次開新服都要重新部署數(shù)據(jù)庫(kù)和游戲服務(wù)整套環(huán)境。合服的時(shí)候需要進(jìn)行數(shù)據(jù)庫(kù)的物理合并和遷移。

單服架構(gòu)下的合服,需要進(jìn)行物理數(shù)據(jù)庫(kù)表的硬合并,需要注意主鍵字段是否沖突??梢酝ㄟ^(guò)兩種方法防止主鍵沖突:

合服的時(shí)候?qū)λ兄麈I進(jìn)行修改,特別是uid,保證他們來(lái)自不同空間。

在設(shè)計(jì)之初即考慮合服的問(wèn)題,從而數(shù)據(jù)在分配唯一uid的時(shí)候,即可為每個(gè)服進(jìn)行分段處理,保證從一開始各個(gè)服的主鍵uid即不會(huì)沖突。

合服的步驟和操作一般都比較固定,成熟后可以針對(duì)自己特定的業(yè)務(wù)模式和表結(jié)構(gòu)寫腳本統(tǒng)一處理。

大服架構(gòu)

大服架構(gòu)區(qū)別于單服架構(gòu)是可以承載更多在線玩家,同時(shí)還有一定的伸縮性,一定程度上可以通過(guò)不斷部署新服務(wù)器來(lái)擴(kuò)充在線容量。在滾服模式的游戲中,也可以采用大服的設(shè)計(jì)思路和架構(gòu),從而在運(yùn)維管理和合服方面得到極大便利,架構(gòu)示意如下:

當(dāng)然,該示意圖和端游的分布式架構(gòu)圖有相似之處,但是也有所區(qū)別,因?yàn)榇颂幍臉I(yè)務(wù)場(chǎng)景是用在滾服游戲中。該架構(gòu)是一個(gè)原理說(shuō)明示意,并非是線上運(yùn)營(yíng)架構(gòu),不同開發(fā)者會(huì)有不同的具體思路和設(shè)計(jì)偏好,比如還有類似好友,工會(huì)等并未列出,此處僅進(jìn)行原理說(shuō)明分析。
從圖中可以看出,有多個(gè)不同的角色,說(shuō)明如下:

數(shù)據(jù)庫(kù),整個(gè)架構(gòu)下只有唯一的DB,所有數(shù)據(jù)都集中保存;

DBServer,所有對(duì)數(shù)據(jù)庫(kù)的操作都是通過(guò)DBServer進(jìn)行,確保業(yè)務(wù)邏輯對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)細(xì)節(jié)的分離;

Account/Name,對(duì)用戶ID或者昵稱的唯一性做保證,這個(gè)服務(wù)是全大區(qū)唯一;

GameServer,游戲邏輯服務(wù),此處每個(gè)GameServer即是一個(gè)邏輯服,通過(guò)不斷部署新的GameSever即實(shí)現(xiàn)了開服;

Login,登錄邏輯和選路分配,此處是一鍵合服的關(guān)鍵所在,在合服策略配置里面保存了哪個(gè)服分配的哪個(gè)GameServer游戲進(jìn)程地址,只需要通過(guò)調(diào)整這個(gè)策略配置即可控制用戶進(jìn)入的GameServer進(jìn)程;

大服架構(gòu)用戶登錄流程:

用戶在客戶端能登陸界面選擇3服的入口,并點(diǎn)擊進(jìn)入游戲。

Login模塊收到用戶進(jìn)入s3的請(qǐng)求,從合服策略配置中查詢到s3的GameServer入口地址,返回。

客戶端收到s3的GameServer地址,直接發(fā)起到s3的鏈接請(qǐng)求。

GameServer3 處理登錄請(qǐng)求,并從DBServer獲取用戶信息返回給用戶,沒(méi)有信息則創(chuàng)建新角色。

登錄完成,進(jìn)入了s3服。

和單服架構(gòu)的合服區(qū)別

單服架構(gòu)的合服,之所以要進(jìn)行數(shù)據(jù)處理和遷移,主要是2個(gè)原因:

各個(gè)服數(shù)據(jù)庫(kù)處于分離狀態(tài),需要物理合并到一起

主鍵唯一ID等信息有沖突,需要數(shù)據(jù)庫(kù)修復(fù)處理

因?yàn)檫@2個(gè)原因,導(dǎo)致單服合服需要做大量的數(shù)據(jù)處理,導(dǎo)出,拷貝,遷移等,加大了合服操作的流程復(fù)雜度和出錯(cuò)的可能。從大服架構(gòu)圖可以發(fā)現(xiàn),單服架構(gòu)的2個(gè)合服難處已經(jīng)自然消除了。Account分配唯一ID,在DB里面存儲(chǔ)自然不會(huì)沖突;而且數(shù)據(jù)本來(lái)就放在一個(gè)庫(kù)里面的,不存在需要遷移的問(wèn)題。

一鍵合服

通過(guò)以上分解可以發(fā)現(xiàn),現(xiàn)在合服會(huì)極其方便;不用修改和遷移數(shù)據(jù),甚至都不用停服,只需要通過(guò)一個(gè)工具在合服策略配置庫(kù)里面對(duì)選路信息進(jìn)行修改,修改用戶的登錄的游戲服務(wù)器。比如提供一個(gè)web修改頁(yè)面,選擇s1,s2,s3服合并,默認(rèn)合并后由gameserver1提供服務(wù),gameserver2和gameserver3即可停止下架,只需要一個(gè)http請(qǐng)求,將s2,s3的gameserver地址修改成gameserver1,即實(shí)現(xiàn)了合并。
合服后用戶登錄流程:

用戶還是選擇3服的入口登錄游戲。

Login模塊得到用戶要進(jìn)入s3服,查詢合服策略配置,得到s3服的服務(wù)地址,即gamesrver1,返回。

用戶得到gameserver1的地址,發(fā)起鏈接請(qǐng)求,進(jìn)行登錄。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/61985.html

相關(guān)文章

  • 云計(jì)算的那些事--談一談IAAS

    摘要:對(duì)于商業(yè)市場(chǎng)來(lái)說(shuō),特別是中國(guó)這樣一個(gè)云計(jì)算才剛剛起步的市場(chǎng)。反觀云計(jì)算售賣的一些商品,目前主要還是以服務(wù)器為主。云計(jì)算的本質(zhì)是將計(jì)算能力轉(zhuǎn)化為標(biāo)準(zhǔn)化,可售賣的服務(wù)??梢哉f(shuō)是云計(jì)算實(shí)踐的一個(gè)經(jīng)典案例。有的人會(huì)問(wèn),云計(jì)算廠商需要提供哪些服務(wù)。 2015年伊始,國(guó)內(nèi)云計(jì)算市場(chǎng)可謂風(fēng)起云涌。各路群豪紛紛涌入這個(gè)市場(chǎng)。其中最活躍的領(lǐng)域當(dāng)屬IAAS。阿里騰訊硝煙未盡,百度重新檢討了自己的PAAS戰(zhàn)略后,...

    KitorinZero 評(píng)論0 收藏0
  • 基于Redis游戲中的實(shí)時(shí)排行榜實(shí)現(xiàn)

    摘要:年月日前言前段時(shí)間剛為項(xiàng)目手游實(shí)現(xiàn)了一個(gè)實(shí)時(shí)排行榜功能主要特性實(shí)時(shí)全服排名可查詢單個(gè)玩家排名支持雙維排序數(shù)據(jù)量不大大致在區(qū)間開服合服會(huì)導(dǎo)致單個(gè)服角色數(shù)越來(lái)越多排行榜分類按照排行主體類型劃分主要分為角色軍團(tuán)公會(huì)坦克該項(xiàng)目是個(gè)坦克手游大致情況 [TOC] Last-Modified: 2019年6月4日18:18:37 1. 前言 前段時(shí)間剛為項(xiàng)目(手游)實(shí)現(xiàn)了一個(gè)實(shí)時(shí)排行榜功能, 主要特...

    wangym 評(píng)論0 收藏0
  • 7月份前端資源分享

    摘要:更多資源請(qǐng)文章轉(zhuǎn)自月份前端資源分享的作用數(shù)組元素隨機(jī)化排序算法實(shí)現(xiàn)學(xué)習(xí)筆記數(shù)組隨機(jī)排序個(gè)變態(tài)題解析上個(gè)變態(tài)題解析下中的數(shù)字前端開發(fā)筆記本過(guò)目不忘正則表達(dá)式聊一聊前端存儲(chǔ)那些事兒一鍵分享到各種寫給剛?cè)腴T的前端工程師的前后端交互指南物聯(lián)網(wǎng)世界的 更多資源請(qǐng)Star:https://github.com/maidishike... 文章轉(zhuǎn)自:https://github.com/jsfr...

    pingan8787 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

UnixAgain

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<