移動(dòng)端網(wǎng)絡(luò)游戲主要分為兩種類型,一種是弱聯(lián)網(wǎng)的检盼,一種是強(qiáng)聯(lián)網(wǎng)的祠肥。
弱聯(lián)網(wǎng)的游戲,主要是指對游戲數(shù)據(jù)實(shí)時(shí)性要求比較低的聯(lián)網(wǎng)游戲,比如卡牌游戲仇箱,休閑游戲等。
強(qiáng)聯(lián)網(wǎng)的游戲东羹,主要是指對游戲數(shù)據(jù)實(shí)時(shí)性要求比較高的聯(lián)網(wǎng)游戲剂桥,比如MMORPG,ARPG等属提。
要求客戶端與服務(wù)器之間進(jìn)行實(shí)時(shí)通信权逗。
在這里主要是跟大家討論一下如何架設(shè)具有負(fù)載均衡的游戲服務(wù)器,對于游戲服務(wù)器開發(fā)冤议,自然而然就會涉及到分區(qū)斟薇,跨服,并服等需求恕酸,針對這些需求我們該如何去架設(shè)服務(wù)器堪滨?
首先我們先繪制出游戲服務(wù)器分布圖:
通過上圖,我們可以看出蕊温,服務(wù)器之間的數(shù)據(jù)交換袱箱,該游戲服務(wù)器主要是由LoginServer,GateSever义矛,GameServer发笔,DBServer,CenterServer組成
負(fù)載均衡主要是通過凉翻,GateServer完成的了讨,就是說當(dāng)玩家登陸的時(shí)候,GateServer會根據(jù)GameSever運(yùn)行情況從里面找出一個(gè)相對空閑的GameServer分配給玩家制轰。GateServer與GameServer之間是多對多的關(guān)系前计。換句話說就是GateServer當(dāng)?shù)糁粫绊懢植縂ameServer中玩家的人數(shù),不影響全局艇挨。上圖顯示的只是軟件的服務(wù)器架構(gòu)残炮,不是硬件的,意思是說缩滨,上面的布局可以在一臺硬件服務(wù)器上配置完畢势就,也可以在多臺服務(wù)器上配置,他們之間的配置是通過配置表完成的脉漏,樣式如下:
以上是中心服務(wù)器配置苞冯,那下面是GameServer服務(wù)器配置:
數(shù)據(jù)的傳遞流程是這樣的:
用戶發(fā)送消息到LoginServer,LoginServer確認(rèn)消息是否正確侧巨,如果正確就發(fā)送到CenterServer舅锄,來獲取GateServer的ip地址和端口信息,接著說消息到達(dá)CenterServer后司忱,
CenterServer會選取負(fù)載最低的GateServer的ip地址和端口信息發(fā)給LoginServer皇忿,
LoginServer發(fā)送給客戶端畴蹭,客戶端接收到消息后鏈接GateServer,并發(fā)送消息到GateServer鳍烁,
GateServer把用戶id保存起來并發(fā)送給CenterServer,然后通過GateServer分配用戶到負(fù)載較小的GameServer叨襟、FightServer上面,并記錄用戶分派的服務(wù)器幔荒,將已登錄用戶收編發(fā)送消息給GateServer糊闽。然后GateServer會發(fā)消息給GameServer,GameServer會去DBServe查證爹梁,用戶信息是否合法右犹,整個(gè)流程就是這樣子的。
服務(wù)器的架構(gòu)一般都是這個(gè)樣子姚垃。
- 先來幾個(gè)連接念链,學(xué)習(xí)一下
用Unity抓取指定url網(wǎng)頁中的所有圖片并下載保存
http://blog.csdn.net/u010019717/article/details/52890644
http://blog.csdn.net/qq_33805569/article/details/52484672
http://blog.csdn.net/u014230923/article/details/51308666
http://blog.csdn.net/u014230923/article/details/51312292
http://blog.csdn.net/u014230923/article/details/51313353
對象池子:
http://blog.csdn.net/u014230923/article/details/51480746
相應(yīng)不規(guī)則區(qū)域的解決辦法
http://blog.csdn.net/u010019717/article/details/52794287