《GOS》結(jié)構(gòu)設(shè)計(jì)

框架結(jié)構(gòu)圖

框架簡(jiǎn)介

《GOS》是一款基于Go語(yǔ)言的分布式游戲服務(wù)器框架,高可用、動(dòng)態(tài)伸縮昧甘、在線擴(kuò)容件豌,可應(yīng)用于市面上絕大多數(shù)游戲類型:SLG、RPG喷斋、ARPG唁毒、MMO蒜茴、MOBA。

結(jié)構(gòu)詳解

AuthService

驗(yàn)證服務(wù)浆西,提供賬戶注冊(cè)粉私、玩家登陸,以及為玩家獲取連接服務(wù)(AgentCell)信息的功能近零。

AgentMgr

連接服務(wù)管理器诺核,連接服務(wù)負(fù)載均衡管理,根據(jù)當(dāng)前負(fù)載情況為玩家分配的連接服務(wù)久信。向集群管理器申請(qǐng)開辟和釋放連接服務(wù)窖杀。

GameMgr

游戲服務(wù)管理器,游戲服務(wù)負(fù)載均衡管理裙士,根據(jù)當(dāng)前負(fù)載情況為玩家分配游戲服務(wù)入客。向集群管理器申請(qǐng)開辟和釋放游戲服務(wù)。

RootMgr

集群管理器腿椎,管理整個(gè)分布式服務(wù)桌硫,云服務(wù)器創(chuàng)建與移除,分布式服務(wù)部署啃炸,游戲場(chǎng)景管理铆隘。

Agent

連接服務(wù),轉(zhuǎn)發(fā)玩家信息至游戲服務(wù)南用,轉(zhuǎn)發(fā)游戲服務(wù)信息至玩家咖驮,處理游戲內(nèi)廣播消息。

Game

游戲服務(wù)训枢,游戲場(chǎng)景管理托修,處理玩家請(qǐng)求,游戲邏輯的主要發(fā)生地恒界;加載睦刃、持久化場(chǎng)景、玩家信息至MySQL集群十酣。

Scene

游戲場(chǎng)景涩拙,每個(gè)游戲服務(wù)內(nèi)包含一個(gè)或多個(gè)游戲場(chǎng)景,場(chǎng)景可以是MMO的每個(gè)場(chǎng)景地圖耸采,也可以是SLG的世界地圖兴泥,還可以是MMO的大廳服務(wù),甚至可以是一個(gè)游戲服虾宇。場(chǎng)景的大小粒度搓彻,可以根據(jù)游戲的實(shí)際情況而定,游戲場(chǎng)景概念是《GOS》進(jìn)行負(fù)載分布的核心設(shè)計(jì)。

Hot Data

熱數(shù)據(jù)管理旭贬,由于游戲內(nèi)玩家數(shù)據(jù)會(huì)頻繁變更怔接,所以游戲場(chǎng)景和玩家啟動(dòng)后會(huì)將其相關(guān)的數(shù)據(jù)加載到內(nèi)存中,并由Hot Data進(jìn)行管理稀轨,并定時(shí)的回寫到MySQL集群扼脐。

MySQL Cluster

數(shù)據(jù)庫(kù)集群,主要用于保存玩家數(shù)據(jù)和游戲場(chǎng)景數(shù)據(jù)奋刽;由于當(dāng)下云服務(wù)已經(jīng)非常成熟和完善瓦侮,這里建議直接使用云服務(wù)的RDS服務(wù),在后臺(tái)點(diǎn)點(diǎn)點(diǎn)就能創(chuàng)建一個(gè)MySQL集群佣谐,讀寫性能和數(shù)據(jù)安全性都有保證脏榆。

Redis Cluster

Redis集群,主要用于集群配置信息保存台谍,玩家Session緩存须喂;Redis集群可以自己根據(jù)Redis官網(wǎng)搭建,同時(shí)也推薦大家使用云服務(wù)趁蕊,簡(jiǎn)單快捷穩(wěn)定坞生,費(fèi)用不高。



????????以上是一個(gè)簡(jiǎn)要的框架設(shè)計(jì)介紹掷伙,算是個(gè)開始是己;《GOS》也在緊鑼密鼓的逐漸完善中(當(dāng)然是利用業(yè)余時(shí)間)。將思路記錄在這里任柜,一方面可以幫助自己縷清思路卒废,另一方面監(jiān)督自己持續(xù)完善,當(dāng)然如果還能幫助到其他服務(wù)器研發(fā)人員就是Bonus了宙地!歡飲各位批評(píng)指正摔认,一同討論~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市宅粥,隨后出現(xiàn)的幾起案子参袱,更是在濱河造成了極大的恐慌,老刑警劉巖秽梅,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抹蚀,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡企垦,警方通過(guò)查閱死者的電腦和手機(jī)环壤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)钞诡,“玉大人郑现,你說(shuō)我怎么就攤上這事湃崩。” “怎么了懂酱?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵竹习,是天一觀的道長(zhǎng)誊抛。 經(jīng)常有香客問(wèn)我列牺,道長(zhǎng),這世上最難降的妖魔是什么拗窃? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任瞎领,我火速辦了婚禮,結(jié)果婚禮上随夸,老公的妹妹穿的比我還像新娘九默。我一直安慰自己,他們只是感情好宾毒,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布驼修。 她就那樣靜靜地躺著,像睡著了一般诈铛。 火紅的嫁衣襯著肌膚如雪乙各。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天幢竹,我揣著相機(jī)與錄音耳峦,去河邊找鬼。 笑死焕毫,一個(gè)胖子當(dāng)著我的面吹牛蹲坷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播邑飒,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼循签,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了疙咸?” 一聲冷哼從身側(cè)響起懦底,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎罕扎,沒想到半個(gè)月后聚唐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腔召,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年杆查,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片臀蛛。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡亲桦,死狀恐怖崖蜜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情客峭,我是刑警寧澤豫领,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站舔琅,受9級(jí)特大地震影響等恐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜备蚓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一课蔬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧郊尝,春花似錦二跋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至况凉,卻和暖如春谚鄙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背茎刚。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工襟锐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人膛锭。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓粮坞,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親初狰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子莫杈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容