浅谈MMORPG服务器架构
前言
本篇文章虽然是谈谈MMO服务器架构,但可能只是我个人的碎碎念把,这是算我进入公司几个月以来的一个回顾与总结吧。先说下项目把,我们项目是一个十多年历史的老MMO端游,存在这架构老旧,代码臃肿等一系列问题,不过把因为历史原因而没有设计好的地方剔除来看,这个项目还许多值得学习的地方。
做为一个新手游戏程序员能够接触到较为复杂的MMO服务器,不过我们项目上线多年,很多东西是已经开发好,相对从0开始开发项目,会缺少一些从设计到实现的经验。
游戏服务器特点
因为游戏服务器并没有比较通用方案,不同游戏类型之间使用方案可能差距非常大。
我个人把游戏服务器分为三类
1.大DUA休闲游戏
2.房间类型游戏服务器
3.MMO游戏服务器
房间类型游戏服务器会特殊点,因为它主要看房间内的的游戏类型。
大DUA休闲游戏
大DUA休闲游戏是游戏逻辑较为简单的一种游戏类型,特点为逻辑较为简单,访问量大。
据我个人了解,这样的休闲游戏会做一个全球同服,一般采取互联网那种架构比较多一点,可能nginx做网关,上一个redis集群做缓存,后面mysql分库分表,游戏内部逻辑给客户端一丢,服务器做的逻辑相对于其他游戏类型会比较少。
房间类型游戏
房间类型游戏相对于休闲游戏来说,逻辑更多,并且大概率涉及到游戏同步问题,不过休闲游戏也可能是房间类型的游戏,两者是相交的关系,这里就不严格区分开来了。
房间类型游戏有比如