如上图所示,一台物理服务器放三个游戏服务和一个数据库,并且有专门的memcached服务器
1、当memcached服务器重启时,需要从基础数据库中读取基础数据,而用户信息是等玩家登陆之后才写入
2、当游戏服务器重启时,首先需要从memcached服务器读取基础数据,如果memcached服务器不能访问,则从基础数据库中读取基础数据;接着要清空memcached服务器中对应的游戏服务器的用户信息,目的是为了让memcached服务器的数据和游戏服务器的数据同步
延伸:以上的游戏服务器和MEM服务器都可以做成环式的,所有环式就是负载均衡,当其中一台游戏服务器挂掉之后,客户端可以连接其他的游戏服务器;当其中一台MEM服务器挂掉之后,游戏服务器可以连接其他的MEM服务器。不过前提就是负载均衡的游戏服务器需要执行相同的业务逻辑,MEM服务器需要存储相同的数据。例如,你开发了多款游戏,那么这多款游戏的数据需要在负载均衡的MEM服务器都存储着,这样其中一台MEM服务器挂掉之后,去另一台取的时候才能取的到。而游戏服务器一般只执行某一个游戏的逻辑,所以可以在这款游戏下的多个服务器做负载均衡。