众所周知,一个出色的游戏服务器架构是游戏服务器成功的一半,游戏服务器架构设计在游戏服务器租用的重要程度也由此可窥探一斑.那么在*初设计游戏服务器架构时,游戏服务器租用商们需参考哪些依据呢?
一、选择合适的游戏服务器运行平台
服务器操作系统大多采用Unix和Linux操作系统.而Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以着名的Redhat(RHEL)为代表,后者以Debian为代表.Redhat的稳定性和硬件兼容性都比Debian高.并且RHEL的生命周期是7到10年,基本上可以覆盖硬件的生命周期,也就意味着一个新硬件安装以后,不用再次安装操作系统.而Debian的生命周期是不固定的,一般新版本发布以后,上个版本再维护18个月.而Debian的版本发布时间间隔不稳定,经常会延期.综合起来一个版本的生命周期一般在3~4年.
二、游戏服务器并发处理能力
对于游戏服务器而言,首先应该保证的就是高并发处理能力,从而*大限度的提高服务器的吞吐率,提高单服在线人数,降低服务器硬件成本.实现的方式有很多,没有决对好坏.只有针对具体的需求,才有好差之分.服务器服务中存在很多模块,所以的模块都将混入这个单线程中,如果cpu性能出现瓶颈,优化成本将会非常高,由于是单线程,抛弃了锁等束缚,给程序员提供太大的空间,往往在书写的过程中比较随意,如果没有沙盒机制,要保证代码的质量对参与开发的每个程序员的水平要求都要要比较高.第二:主逻辑多线程+[多辅助线程]?好处:充分利用多核
三、对数据持久化的考虑
对于服务器而言,数据是*重要的.有一个好的数据持久化方案,对于服务器开发将会是事半功倍.在介绍数据的持久化方案以前,我们现在介绍服务器数据读取和修改的运用场景.服务器运行过程中会不断的生产数据,并且将数据落地.但是如果服务器每次都直接从数据库或者文件读取和修改数据,那么服务器的io操作可能成为瓶颈,可以采用异步读写方案来降低io读写对服务器逻辑处理能力影响,但是同时提高逻辑的复杂度.所以较好的方式是将数据缓存到内存中,同步读写,每次读写都先操作缓存,然后再由缓存同步到数据库.同步机制决定了数据持久化能力.如果自己去实现这套机制无疑是造轮子,而且效果不一定好.数据持久是每个服务器都需要的.已经有很多专业的团队提供有很多开源的成熟的解决方案.
|
|
|