"这篇文章主要由Randy Shoup分享了他在Google和eBay工作期间关于在线游戏规模化经验的总结。Randy在KIXEYE担任CTO,曾是Google App Engine的工程总监,以及eBay的首席工程师,拥有丰富的高性能、高并发系统构建经验。文章分为四个部分:规模化代码、规模化基础设施、规模化性能和规模化DevOps,强调开放源码、标准化数据格式、自动化等关键策略。" 在《我在Google和eBay学到的关于在线游戏规模化的一切》中,Randy Shoup首先介绍了实时战略游戏的特点,它们具有实时性、波动性、计算密集型、持续演进和不断挑战技术边界等特点,因此对技术和运营都有极高的要求。 在如何规模化方面,他提到了三个关键点: 1. **规模化代码**:建议拥抱开源,而不是一开始就尝试编写自己的代码。使用开源项目可以快速启动,降低开发成本,并且通常这些项目质量更高、更可扩展、测试更充分。避免“不是我们发明的”心态,即不倾向于重用已有解决方案,而倾向于内部开发。 2. **规模化基础设施**:提倡采用分层架构和微服务设计。分层架构有助于保持系统的模块化,便于管理和扩展。微服务则让每个服务都能独立部署和扩展,增强了系统的灵活性和可维护性。他还提及了Google Cloud Datastore,这是一个强大的分布式数据库,适用于处理大规模数据。同时,反应式服务器的概念被提出,这种服务器能够动态响应变化,确保在高并发情况下保持稳定。 3. **规模化性能**:关注系统可扩展性和性能优化。小细节往往能产生大影响,例如eBay的搜索索引压缩技术就是一个例子,通过优化减少了存储需求,提高了检索速度。TOME Combat Server展示了如何通过精心设计来处理大规模并发计算场景。此外,测量和分布是性能优化的关键,通过对系统行为的持续监控和分析,可以发现瓶颈并进行改进。 4. **规模化DevOps**:自动化是DevOps的核心,无论是构建、测试还是部署,都应尽可能自动化,以减少人为错误和提高效率。自动缩放是云环境中的重要工具,如Google App Engine的自动缩放功能,可以根据负载自动调整资源。Google对DevOps的贡献不容忽视,它推动了DevOps文化的普及和实践。 总结回顾,如何成功规模化在线游戏的关键包括:利用开源技术、遵循标准数据格式、实行严格的开发纪律、采用分层和微服务架构、选择合适的分布式存储系统、优化性能细节、实现DevOps自动化和自动缩放。这些原则不仅适用于游戏行业,对于任何需要处理高并发和高性能需求的web应用都是非常有价值的指导。
- 粉丝: 7092
- 资源: 424
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据