对一个“失败”项目的审视—架构
衡量一个产品的成败,往往所站的角度不同理解也就不同。站在一个开发人员的角度来看,判断一个产品是否成功,往往首先判断这款产品是否满足用户的需求。对于有性能扩展要求的产品,则还要考虑其是否具有较高的性能、是否便于后期扩展;对于具有代码洁癖的开发者来说,则还要看代码编写是否规范等等。 今天我们先来了解一下这款产品的架构是如何设计的,再说说它的各服务器的功能。 首先我简单说明一下架构中需要重点考虑的几点: 1:网吧断网时的处理:架构设计中要考虑到网吧和中心服务器断网的情况,所以简单的按照MMO游戏的设计方式是不可行的(这种情况虽不常见,但是经常会由于网络不稳定而出现,有时也会因为一些其它原因而导致,例如某地区曾出现一整年断网情况),所以架构设计时需要处理:当网吧服务器和中心服务器断开后,网吧要能进行正常的业务处理;同时,当网吧服务器和中心服务器重新建立连接以后,需要将网吧在断线时间段内所处理的所有数据重新的发送到中心服务器上,并进行继续处理。 2:网吧业务连续性:对于网吧业务来说会存在一定的业务连续性,例如网吧的业务一定是先上机,后下机。这种业务如果处理顺序错乱,后果不堪设想。 3:网吧数据...
