| 摘要 | 第5-7页 |
| ABSTRACT | 第7-8页 |
| 1 绪论 | 第11-15页 |
| 1.1 研究目的、背景与意义 | 第11-13页 |
| 1.1.1 研究背景 | 第11-12页 |
| 1.1.2 研究目的与意义 | 第12-13页 |
| 1.2 国内外研究现状 | 第13-15页 |
| 2 分布式系统概要 | 第15-23页 |
| 2.1 分布式系统的定义及特点 | 第15-16页 |
| 2.2 分布式系统的目标 | 第16-17页 |
| 2.3 分布式系统的类型 | 第17-18页 |
| 2.4 分布式系统的关键技术 | 第18-20页 |
| 2.4.1 分布式文件系统 | 第18页 |
| 2.4.2 分布式计算 | 第18-20页 |
| 2.4.3 分布式数据库 | 第20页 |
| 2.5 分布式系统的性能与可用性 | 第20-22页 |
| 2.5.1 复制 | 第20-21页 |
| 2.5.2 一致性问题 | 第21-22页 |
| 2.6 分布式系统的历史与现状 | 第22-23页 |
| 3 MMORPG服务器架构 | 第23-38页 |
| 3.1 MMO服务器架构 | 第24-25页 |
| 3.2 提高MMORPG服务器可用伸缩性的其他方法 | 第25-26页 |
| 3.2.1 用户侧线路的带宽瓶颈 | 第25页 |
| 3.2.2 游戏服务器逻辑处理的性能瓶颈 | 第25页 |
| 3.2.3 游戏数据库的瓶颈 | 第25-26页 |
| 3.3 MMORPG的通信架构 | 第26-29页 |
| 3.3.1 进程通信方式 | 第26-27页 |
| 3.3.2 事件驱动模式 | 第27-28页 |
| 3.3.3 C10K问题 | 第28-29页 |
| 3.4 伸缩性服务器架构的一致性问题 | 第29-34页 |
| 3.4.1 ZooKeeper的特点 | 第29页 |
| 3.4.2 ZooKeeper的设计目标 | 第29-32页 |
| 3.4.3 ZooKeeper技术核心 | 第32-34页 |
| 3.5 Redis介绍 | 第34-38页 |
| 4 MMORPG服务器设计 | 第38-58页 |
| 4.1 通信组件 | 第38-48页 |
| 4.1.1 应用层的缓冲区 | 第38-41页 |
| 4.1.2 IO模型与线程模型 | 第41-43页 |
| 4.1.3 关键类的实现 | 第43-46页 |
| 4.1.4 通信服务 | 第46-48页 |
| 4.2 数据服务组件 | 第48-50页 |
| 4.3 任务调度器与任务组件 | 第50-52页 |
| 4.4 利用zookeeper解决分布式协同服务 | 第52-58页 |
| 4.4.1 统一配置管理 | 第52-53页 |
| 4.4.2 分布式协调/通知 | 第53-54页 |
| 4.4.3 负载均衡 | 第54-55页 |
| 4.4.4 命名服务 | 第55-56页 |
| 4.4.5 分布式锁 | 第56-58页 |
| 5 系统测试 | 第58-63页 |
| 5.1 测试环境部署 | 第58-60页 |
| 5.1.1 测试架构 | 第58-59页 |
| 5.1.2 测试环境说明 | 第59-60页 |
| 5.2 ZooKeeper的测试 | 第60-61页 |
| 5.3 模拟测试场景 | 第61-63页 |
| 6 总结与展望 | 第63-65页 |
| 6.1 总结 | 第63页 |
| 6.2 改进与展望 | 第63-65页 |
| 参考文献 | 第65-69页 |
| 致谢 | 第69-70页 |
| 在学期间的研究成果及发表的学术论文 | 第70页 |