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