類似COC那種大世界網遊的服務端是採取什麼樣的架構?

類似COC那種大世界,能支撐大規模在線,玩家還能有一部分交互,雖然很少,服務端大概要怎麼設計比較合理些呢?


盜圖,輕噴。

玩家根據uid哈希來固定分配到某個邏輯伺服器上,

比如玩家A每次登錄都分配在logicsvr1上,玩家C每次登錄都分配在logicsvr3上。

A想查看C的狀態怎麼辦呢?

1. logicsvr1 向schedulesvr2發送請求,表明想查看玩家C的數據。

2. schedulesvr2收到請求,計算出玩家C在logicsvr3上。

3. schedulesvr2向logicsvr3請求玩家C的數據。

4. logicsvr3返回玩家C的數據給schedulesvr2。

5. schedulesvr2把C的數據返回給logicsvr1。完畢。

雙人戰鬥或者多人副本,本質和這個都差不多。


推薦閱讀:

伺服器集群為什麼節點間通信為什麼要用到RPC,這個是為了解決什麼問題?
分散式與集群的區別是什麼?

TAG:網路遊戲 | 手機遊戲 | 伺服器集群 | 伺服器架構 |