引言:翻了些资料非原创,当稳定性出现问题时,首先想的是如何去解决这个问题。调优和寻找逻辑问题是必须走的道路,那么在之前需要做点什么? 1.数据库的压力,在登陆服和游戏服务器都需要连接数据库,从数据服务的部署来说,可以把账号和角色数据都放在一个中心数据库中,也可以分成二个不同的库去处理,物理上分到二个服务器上也行。(把非关键的账号数据一个大区或者多组服务器共用1个)。 1.1对于不同的游戏服务器中,账号数据和游戏内的数据是互相独立的,配备一台服务器,为了缓解数据库的压力。 1.2数据库提高响应和读写的速度,建立数据库缓冲服务器,常称为缓冲池,主要目的为将常用的数据缓存在此,服务器和数据库的通信进行代理。数据也将定期写进后台。 2.看到这个东西时,居然忘了,觉得实在有道理。当遇到唯一的入口时,真的还是比较古董的技术有用,网关服务器(反向代理服务器),内部的数据通过这个服务才可以出去, 3.这部分所讲的我之前失误的地方,游戏为了负载更多的人,而对场景做了对应的切割,切割成多个gamedb,然后用了一种传统的架构方式,当时只关注了客户端部分,并没有觉得不妥。每次切换gamedb,然后断开连接下一个,十分不优雅。导致了卡号等问题的存在。 实际上只要把一个处理方式倒过来即可。 ps:另外套接字在wins服务器上定义为unsigned int,而不是short 65535 |
|