分佈式部署思路

1)像pomelo這種啓動方式搞得讓被人容易迷惑,是單進程啓動後,再fork啓動其它進程。java

2)個人思路以下:服務器

每每一個遊戲服務器模塊劃分後,分爲:微信

WebServer多線程

GateServer分佈式

SystemServer + GameServerui


因爲咱們是採用netty,是單進程多線程服務器,實際能夠分進程這樣手動啓動:
1.GameServer的啓動

線程

在指定機器1上指定GameServer: java -jar GameServer.jar --port=6080  這樣就至關於啓動了x.x.x.x:6080
在指定機器2上指定GameServer: java -jar GameServer.jar --port=6080  這樣就至關於啓動了x.x.x.x:6080
netty

...遊戲

2.SystemServer的啓動進程

在指定機器3上指定SystemServer: java -jar SystemServer.jar --port=6080  這樣就至關於啓動了x.x.x.x:6081
在指定機器4上指定SystemServer: java -jar SystemServer.jar --port=6080  這樣就至關於啓動了x.x.x.x:6081

...

3.GateServer的啓動

在指定機器5上指定SystemServer: java -jar SystemServer.jar --port=6080  這樣就至關於啓動了x.x.x.x:6083
在指定機器6上指定SystemServer: java -jar SystemServer.jar --port=6080  這樣就至關於啓動了x.x.x.x:6083

...

4.啓動WebServer

在指定機器7上指定WebServer: java -jar WebServer.jar --port=6080  這樣就至關於啓動了x.x.x.x:6084


這壓力咱們的1~7服務器能夠是同一臺物理機器,也能夠是多臺物理機器。

客戶端首先是經過微信等登錄方式,經過WebServer獲取到須要鏈接到哪一個網關,而後多個網關承載連接。

而後SystemServer和GameServer都是多個,經過記錄uid和sid等,這樣結合RPC通信,就完成了分佈式邏輯

相關文章
相關標籤/搜索