还需要研究的问题
1. Mysql的配置和部署
1.1 主从
1.2 分表
1.3 备份
非常好的文章:MySQL性能调优与架构设计-架构篇
http://www.360doc.com/content/11/1204/03/61151_169511896.shtml
补充:数据库的架构,选用redis做缓存,mysql做落地数据库
考虑典型的用例:
step 1: 用户登陆,先从redis加载,如果miss,则去mysql读入数据,加载到gameserver,并且缓存到redis
step 2: 用户数据变更,比如打胜利一场比赛,由于是gameserver先行算出来的结果,直接改变gameserver的数据,并同时同步到redis,同时发送数据到客户端。
step 3: 用户退出游戏,或者半小时时间已经到了,此时进行persist. 从redis读出数据和gameserver数据做比较(可以考虑去掉),如果相同,则通过gameserver向mysql
落地数据。可以考虑的小优化:向mysql落地可以单开一个线程,选择时间也可以利用用户空闲时间,比如说在观看打斗过程的时候进行落地
2. 调研nginx
3. java线程框架