数据库表设计:
因为要把这么多访问量分担到不同的服务器里,原先的数据库表设计肯定不会合适。初步的想法是根据游戏的逻辑模块,将不同模块的数据库表拆分到各个服务器里,如果按照上面的服务器预估得到的结论是4~6组服务器,实际上这个方案还是可行的。但如果是20组服务器的话,除非是一台服务器一张数据库表,但这的设计会造成数据表太分散,在处理事务的时候,会跨多个数据库
策略类webgame一般的主要模块为:建筑物和资源、军事、英雄、物品、帮会、交易、地图。根据这些模块的应用场景,可以将数据库表分为2种类型,一种是属于玩家的数据,另外一种是公共数据。
1. 属于玩家的数据是指玩家个人说拥有的基地、资源、军事单位、物品等数据,它们都是围绕着玩家而产生的。
2.公共数据则是指由多位玩家共同组合而产生的数据,例如:账户信息、帮会、地图等。
这里划分两种数据的目的是在于他们的数据库表的划分。对于公共数据,则采用单一服务器,单一数据库表处理的方式来处理。例如帮会模块和地图模块就准备分别用3台服务器来存储各自对应的数据库表。而对于玩家的数据,则根据用户ID采用一定的划分方式,将玩家数据打散到各个服务器里(http://blog.zhaojie.me/2010/03/sharding-by-id-characteristic.html)。
(数据表的结构划分)
用户表和其单表的设计思路:
这里所说的单表是指在逻辑上部队数据库表做拆分,程序在访问时只访问一个数据库。当然这只是逻辑上的单一,根据实际上的访问压力,可以将数据库文件作水平切割分布在不同的文件分区和服务器里。这部分的数据库表设计继续沿用之前的设计方案就可以了。
对于用户信息,帮会信息等数据,实际上插入和更新的频率不会太高,更多的是在查询上,因此这部分的设计重点应该是在缓存上。从以前的资料里得知Memcache服务器每秒可以响应4w次的读请求,用一台Memcache就能处理好用户和帮会信息的缓存处理。
分享到:
相关推荐
webgame asp javascript在线游戏 源代码
博伊斯网络游戏在这里写一个有意义的描述
webgame客户端通信VO设计构想
给大家贡献一遍比较好的webgame引擎开发学习的资料,希望对webgame开发的人有帮助。
webgame开发简明教程 这篇是挺实用的教程, 不过有些观点还是值得商榷 我觉得服务器定时器用计划任务调用脚本就可以实现,比如linux下用crontab定时执行某个php脚本,更新数据就可以。 研究所有点缺乏资料啊。讨论...
紧紧为了学习使用AJAX,感觉对WEBGAME比较感兴趣,先把找到的JS部分上传
网页游戏 SSM 25-1 这项工作是使用 Node.js + Mongodb 进行的。 该网页是使用 ejs 模型工作的。
于2007夏天完成的一个不完整的webgame引擎 还没有完成AI部分
2022年优秀-Webgame市场总体分析状况.pptx
avaScript之webgame学习最具实践性的资料--猫游记js代码大全.rar
这是一套完整的以php语言开发的webgame源码,是对一个webgame入门新手很好的练习机会。
棒球賽>> ------------------------------- ·上传到空间 ·直接就可以使用!
侠域网页游戏WebGame源代码侠域网页游戏WebGame源代码
黑夜传说webgame源码服务器ftp。php+mysql
最终幻想网页游戏,主要是用php开发,有兴趣的看一下
资源名称:webgame网页游戏开发设计简明教程 中文WORD版本文档是webgame网页游戏开发设计简明教程;webgame程序构成:三大部分。第一是数据流程。第二是程序。第三是美术。其中,数据流程包括了功能。也只有在功能中...
python webgame应用PDF简要说明,提供思路。
FXGAS是用于存储游戏资产和开发网络游戏的框架(库,工具包)。
适合初学者! 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gogo313/archive/2009/02/24/3933603.aspx