web策略类游戏开发(四)一个可以承载万人在线的架构
Webgame现在已经开始需要进入大统一服务器时代,每个游戏区域容纳的玩家数量将从现在的几万人发展到几十万人,因此在新的背景下,webgame如何处理大量用户的请求将成为问题。目前一台asp.net做的weggame服务器每秒能处理500~1000个页面请求,按照每个玩家每隔3~5秒做一次页面操作(页面请求),一台服务器能承受2k~4k的玩家在线,对于一个只有几万人的策略游戏来说,已经是足够了。但对于一个未来将承载几十万人的游戏来说远远不够。
通过分析,玩家在游戏过程中,有80%以上的访问仅仅只是查看玩家在游戏里的状态,实际上真正会对游戏运行状态及数据修改的的页面请求不足20%。因此,我们可以将呈现页面和处理游戏逻辑的功能拆分为2组服务器:页面服务器和逻辑服务器。两者之间可以通过remoting的方式进行数据通讯。将服务器分离后,随着页面服务器的增加,页面访问能力能应该能提升4~6倍。在往上逻辑服务器就会出现访问瓶颈。解决方法可以让页面服务器在读取玩家数据时直接访问数据库或者增加一个对象缓存服务器。页面服务器只有在必要的时候(需要进行逻辑运算时)才访问逻辑服务器,而逻辑服务器在玩家数据发生改变后更新对象缓存服务器和数据库。这样就可以大大降低逻辑服务器的访问次数,使页面访问能力进一步提升,轻松突破万人在线。如果访问量还需要继续扩大,可以用httpd做前台负责相应图片以及css等静态文件。
分享到:
相关推荐
在探讨“Web策略类游戏开发”这一主题时,我们不仅要关注技术细节,还要理解策略类游戏的特性及其在Web环境下的实现方式。策略类游戏,以其深邃的策略性、复杂的系统设计以及丰富的玩家交互而著称,是游戏开发领域的...
这种架构模式将应用程序分解为三个独立的层次:表示层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer),每一层都有其特定的功能和职责。本文将深入探讨C# Web三层...
Java Web三层架构是一种常见的软件设计模式,用于构建可扩展、可维护且易于测试的Web应用程序。这个模式将应用逻辑划分为三个主要层次:表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据...
WEB开发中常见安全漏洞分析与预防策略
《游戏引擎架构》是一本深度探讨游戏开发核心技术的权威书籍,中文版与英文版的结合为读者提供了双语学习的机会,特别适合对游戏开发有深厚兴趣或者正在从事相关工作的专业人士。高清非扫描版保证了阅读体验,使得...
综上所述,现代企业Web架构是一个复杂而精细的体系,需要综合考虑技术、组织和流程等多个方面,以构建出既满足业务需求又具备未来发展潜力的架构。通过持续学习和实践,我们可以不断优化和改进现有的Web架构,以适应...
《Web前端开发技术储久良第三版答案》涵盖了前端开发领域的关键知识点,主要针对储久良教授编著的教材第三版中的习题和实验提供了详尽的解答。这本书旨在帮助学习者深入理解Web前端开发的核心概念和技术,通过解决...
SAP ABAP WebDynpro开发是基于SAP的NetWeaver技术平台上的一个重要开发工具。WebDynpro是SAP的Web应用框架,它允许开发人员通过ABAP编程语言创建交互式的Web界面和后台逻辑。它代表了SAP在企业级Web应用开发方面的...
【Web前端开发实训项目源代码】是一个以Bootstrap框架为基础的实训项目,主要目的是为了帮助学习者掌握Web前端开发的关键技术和实践经验。在这个项目中,开发者利用Bootstrap的灵活性和响应式设计特性,构建了一个...
WEB应用的架构与开发是一个广泛的领域,涵盖了许多关键技术和概念。让我们逐一深入探讨。 首先,我们来理解什么是WEB。WEB是由HTML(超文本标记语言)、HTTP(超文本传输协议)和URL(统一资源定位符)三者组成的,...
本规范主要关注WEB安全的规划、架构设计以及网站的安全治理,旨在为XX局的WEB开发与改造提供指导。安全措施涵盖了从服务器到通信信道的保护,但不涉及客户端的安全问题。 4.1 Web安全风险分类 Web安全风险主要分为...
《Java高手真经_系统架构卷:Java.Web系统设计与架构》是一本专注于Java Web开发领域的专业书籍,由刘中兵及其Java研究室倾力打造。这本书深入探讨了Java技术在构建复杂Web系统中的应用,涵盖了从基础概念到高级设计...
根据给定的标题和描述,“Java高手真经系统架构卷Java Web系统设计与架构UML建模+设计模式+面向服务架构”,我们可以深入探讨几个关键的IT知识点:Java Web系统设计、UML建模、设计模式以及面向服务架构(SOA)。...
1. **定义服务接口**:创建一个继承自System.Web.Services.WebService的类,并在类中定义公共方法,这些方法将成为Web Service的接口。 ```csharp [WebService(Namespace = "http://example.com/MyWebService")] ...
《Web信息架构:设计大型网站》是一本深入探讨如何构建高效、易用且具有扩展性的网站结构的专业书籍。信息架构是互联网产品设计的核心部分,它关乎用户体验、导航系统、搜索引擎优化(SEO)以及内容策略等多个方面。...
Java Web开发实例大全(提高卷)筛选、汇集了Java Web开发从基础知识到高级应用各个层面的大量实例及源代码,共有600个左右,每个实例及源代码按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析...
《系统架构:复杂系统的产品设计与开发》是2016年出版的一本关于系统架构设计的重要著作。这本书深入探讨了在构建大型、复杂系统时所面临的挑战和解决方案,为IT行业的专业人士提供了宝贵的指导。其PPT形式的资料集...
本书共分三部分,全面介绍如何基于 Python 微框架 Flask 进行 Web 开发。第一部分是 Flask 简介,介绍使用 Flask 框架及扩展开发 Web 程序的必备基础知识 ;第二部分则给出一个实例,真 正带领大家一步步开发完整的...
HTML5游戏开发是一个充满活力和创新的领域,它利用了现代Web技术的潜力,使得无需插件或安装即可在浏览器中实现丰富的互动体验。这些源代码来自《HTML5游戏开发》一书,提供了十个不同游戏的完整开发源码,旨在帮助...