MMO游戏服务器多服务器交换数据
问题描述:
我总是如何设计一款高性能的游戏服务器,支持数百万热门用户在线和一起玩。MMO游戏服务器多服务器交换数据
我的架构:
Master server:
receive client connection
base on user id
dispatch to slave servers
client connect to slave server again.
Slave server:
load user profile from data server, and won't load again before user disconnect.
*broadcast new events to users in the same room/channel/nearby*
所以,我的问题是,当我想广播新的事件给用户,但这些用户不能在同一台服务器上,所以这个事件不能发送给该用户直接,但必须连接另一台服务器,并发送它。
更重要的是,在计算用户对战时,两台服务器之间必须要了解对方的信息,所以两台服务器必须在内存中加载2个用户,这会浪费太多内存。
看来我的架构出现了大问题,我想知道多服务器的MMO游戏服务器的正确架构。
答
这并不容易!我从来没有看到一个巨大的服务器的MMO,他们总是分裂。即使简单的游戏,如响应速度不是问题的Ogame,也不要执行此操作。我想你可以使用像Google App Engine这样的可扩展的服务器提供商,但不要期待很高的价格!